制作论坛相互授权登录的猜想


  • 网站研运

    我们这个论坛模板是一个比较新的论坛模板,和几年前的Phpwind和Discuz完全不同。这个论坛的模板也在全世界被广大爱好者使用。这里我们有这样一个想法:

    随着互联网渗透率逐渐增大,我们可能在不同的NodeBB论坛拥有各自的帐号。由于NodeBB是比较新的论坛,在用户获取上面,每一家的难度都非常大,而且获得的用户帐号不是共通的,给我们带来了不小的难度。这里,我们想了这样一个办法,那就是要是有相互授权的模块就好了,也就是说,对于我们NodeBB兄弟论坛,我们可以产生一种合作,将各自的用户资源导入进来,并且在访问各自论坛的同时,推广了其它的论坛。这是一个非常好的办法,这样可以快速地将别人论坛的用户资源导入到我们论坛,然后我们的论坛相互间可以做深度推广,对于用户来说,降低了用户的注册成本,只需要单一的用户帐号就可以实现。
    这里的思想和数年前授权登录的思想是一样的。都需要合作才行。
    不同的是,这里让更多的小论坛可以相互帮助,共同提供更好的用户访问体验,而不是独自闷头获取用户,因为这样的难度实在太大。更重要的是,相互间的合作是平等的关系。
    配图



  • @jcy 如果是 NodeBB 论坛的话,应该制作一个去中心化的授权机制。现在大多数授权机制是通过用户注册的服务器进行授权的。


  • 网站研运

    @qyvlik 所谓的去中心化,我的理解就是,每一个NodeBB论坛都是中心,比如说
    forum.qt.io是一个中心,qtdream.com也是一个中心。我们相互授权,也就是双边合作。
    所以要设计一套思想,来遵循我们之间的合作协议,这样我们才可以获取更多的用户。👮🏻 🤾🏾



  • @qyvlik 还有什么好的点子呢?



  • 今天(大年初二)开始研究这样做的可能性。
    首先是看看微博SSO的内容。主要涉及到了三个钩子函数:

        "hooks": [
            {
                "hook": "filter:auth.init", "method": "getStrategy"
            },
            {
                "hook": "filter:admin.header.build", "method": "addMenuItem"
            },
            {
                "hook": "static:app.load", "method": "init"
            }
    

    有了这三个钩子函数,就大致了解授权登录的工作方式了。



  • 我到论坛上发帖了。在这里


Log in to reply
 

走马观花

最近的回复

  • 离线安装包的下载地址是:coding源github源

    read more
  • 看到过很多代码都有用这个

    read more
  • 做得还不错的嘛。希望继续呢。

    read more
  • 首先我看到的就是option选项。这个选项在cmake中的文档是这样的:

    Now let us consider making the MathFunctions library optional. In this tutorial there really isn’t any reason to do so, but with larger libraries or libraries that rely on third party code you might want to. The first step is to add an option to the top level CMakeLists file.

    # should we use our own math functions? option (USE_MYMATH "Use tutorial provided math implementation" ON)

    This will show up in the CMake GUI with a default value of ON that the user can change as desired. This setting will be stored in the cache so that the user does not need to keep setting it each time they run CMake on this project. The next change is to make the build and linking of the MathFunctions library conditional. To do this we change the end of the top level CMakeLists file to look like the following:

    # add the MathFunctions library? # if (USE_MYMATH) include_directories ("${PROJECT_SOURCE_DIR}/MathFunctions") add_subdirectory (MathFunctions) set (EXTRA_LIBS ${EXTRA_LIBS} MathFunctions) endif (USE_MYMATH) # add the executable add_executable (Tutorial tutorial.cxx) target_link_libraries (Tutorial ${EXTRA_LIBS}) 参考来源:这里

    在我看来,cmake中的option命令更像是一个宏,规定了是否定义这个宏以及这个宏所带来的连锁反应。option规定的这个宏,通过ON的设定来表示是否定义。

    read more

关注我们

微博
QQ群