【问题标题】:Logout user when app redirect to another app Meteor JS当应用程序重定向到另一个应用程序 Meteor JS 时注销用户
【发布时间】:2019-01-12 00:06:49
【问题描述】:

我有 2 个应用程序,一个用于身份验证,另一个用于产品。登录或验证电子邮件后,用户将被重定向到产品应用程序。在重定向时,最近登录的用户会立即注销,因此对登录用户的引用变为null,我需要在 auth 应用程序中登录凭据才能在第二次进行身份验证。身份验证应用重定向到产品应用后,如何保持登录状态?

这是auth app上的登录功能

var callLogin = function (email, password, router) {
    Meteor.loginWithPassword(email, password, ( error )=> {
        if (error) {
            sAlert.error( error );
        } else {
            sAlert.success("Logged in successfully");
             window.location.replace( "http://localhost:3300/" + Meteor.userId() );
        } 
    });
}

这是产品应用上的 onCreated 函数

Tracker.autorun(function () {

        let router = FlowRouter.getParam("_id");
        let AuthConnection = DDP.connect( AuthURL );

         if ( AuthConnection ) {
            console.log( router );
            AuthConnection.call('logins.user', router, ( error, response )=> {
                if ( error ) {
                    console.log( error );
                } console.log( response );
            } );
        }
      });

登录用户始终存在,直到它变为空的重定向。我该怎么做才能在 auth 应用中保持用户的登录状态?

【问题讨论】:

    标签: meteor external url-redirection flow-router


    【解决方案1】:

    我假设两个应用程序都连接到同一个数据库?

    当您重定向本地状态更改时 - 特别是在这种情况下,您的本地存储状态会跟踪用户恢复令牌。

    如果您想允许一个应用程序对另一个应用程序进行身份验证,您需要某种形式的 SSO - 一个简单的实现是在登录后从服务器请求 resumeToken,将其传递给 URL 中的第二个应用程序,然后使用 @987654321 @。一种更 hacky(但可能更简单?)的方法可能是从 app1 复制保存在 localStorage 中的令牌,将其通过 URL 传递给 app2,然后也将其保存在那里。

    【讨论】:

    • 非常感谢@Zack,不,这些应用程序是差异数据库。不过,我会试一试。
    • @kehinde 如果应用程序连接到不同的数据库,这将不起作用,您能否再解释一下您的用例?
    • @Zach Newsham,我想做的是完全分离所有应用程序,但它们只能通过订阅、方法和发布共享数据。我的原因是确保其他应用程序不能直接写入另一个应用程序上的集合。虽然我已经创建了单体应用程序,但性能会随着时间的推移而下降。为了快速解决这个问题,我必须将其分解为不同的可扩展模块。如果你不介意,我可以私下给你分享一张模型图。
    • @kehinde,当然 - 分享图表。但是,如果他们不共享数据库,那么通过不同的应用程序登录会有点困难 - 您可以将“登录应用程序”设置为 SSO 提供商(如 facebook 或 google)
    猜你喜欢
    • 2020-03-03
    • 1970-01-01
    • 2019-09-20
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    • 2019-04-25
    相关资源
    最近更新 更多