代码之家  ›  专栏  ›  技术社区  ›  ken4ward

跨多个应用程序维护登录状态Meteor JS

  •  1
  • ken4ward  · 技术社区  · 8 年前

    我正在将一个项目从单块集成电路转换为基于微服务的体系结构。项目不共享数据库。Project-1是auth,它处理所有auth,如登录、注册、注销,而Project-2是用于产品管理的,Project-2应该如何知道登录和维护,跟踪用户的登录状态?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Jankapunkt    8 年前

    您可以使用 基于DDP的登录 .

    有为此目的而构建的包:

    流星包: https://github.com/reactioncommerce/meteor-ddp-login

    NPM封装: https://github.com/vsivsi/ddp-login

    使用DDP连接,您可以远程登录(从forst包的自述文件中自由获取):

    var conn = DDP.connect(Meteor.absoluteUrl());
    DDP.loginWithPassword(conn, {username: 'admin'}, 'admin', function (error) {
      // .... if no error you are free to go 
    })
    

    请注意,为了对项目1进行远程方法调用或订阅,项目2仍然需要此连接(保留活动的已验证登录用户)。

    远程调用与本地调用的方式相同,但使用此连接:

    // call remote project's method
    conn.call('methodName', params, callback) 
    
    // subscribe to remote project's publication 
    conn.subscribe('pubName', params) 
    
    推荐文章