繁体   English   中英

应用程序重定向到另一个应用程序Meteor JS时注销用户

[英]Logout user when app redirect to another app Meteor JS

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

这是auth应用程序上的登录功能

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 );
            } );
        }
      });

在重定向为空之前,登录用户始终存在。 如何维护身份验证应用程序中用户的登录状态?

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

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

如果要允许一个应用程序对另一个应用程序进行身份验证,则需要某种形式的SSO-在登录后从服务器请求一个resumeToken的简单实现,将其传递给URL中的第二个应用程序,然后使用Meteor.loginWithToken 一种更狡猾(但可能更简单?)的方法可能是从app1复制保存在localStorage中的令牌,将其传递到URL中到app2,然后再在此处使用保存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM