簡體   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