2015-06-09 154 views
1

我有這樣的URL「http://mywebsite.com」。我使用Auth0登錄我的Web應用程序。一旦用戶登錄我的應用程序,我將使用相同的登錄(Single Single Sign On)將用戶登錄到我的WordPress站點和其他網站。一旦用戶從我的應用程序註銷,我需要從WordPress和其他網站註銷(單點登錄/退出)。Single退出使用Auth0的所有應用程序

可能嗎?

請提出更好的選擇

回答

1

@udayr的回答使我在正確的道路上:實際上,我使用ASP.Net Owin

,所以我在所有的應用程序是這樣的Auth0AccountController創建註銷等端點的過載:

[HttpGet] 
    public ActionResult LogOff() { 
     return this.LogOff(""); 
    } 

然後我說的SLO(單日誌)視圖和把下面的代碼就可以了:

<iframe id="app1" height="0" width="0" src="http://app1.localtest.me/Auth0Account/LogOff"></iframe> 

<iframe id="app2" height="0" width="0" src="http://app2.localtest.me/Auth0Account/LogOff"></iframe> 

<h2 id="message">Logging off, please wait...</h2> 

<script> 

    var app1Ready = false; 
    var app2Ready = false; 

    $('iframe').load(function (e) { 

     switch ($(e.target).attr("id")) { 
      case "app1": 
       app1Ready = true; 
       break; 
      case "app2": 
       app2Ready = true; 
       break; 
     } 

     if (app1Ready && app2Ready) { 

      $("#message").html("You have been Logged Off successfully!"); 

     } 

    }); 

</script> 

基本上,我們需要通過iframe對新的LogOff端點進行Get調用,但是缺點是所有aplications都需要知道所有其他應用程序的註銷URL,並且需要在所有應用程序上實現這些URL 。

1

還沒有與個人做這方面的經驗,但是這是直接從Auth0文檔:

「這將清除任何單點登錄由Auth0設置cookie 。該用戶如果您也想註銷用戶身份提供商,聯合查詢字符串參數添加到註銷網址:

https://appname.auth0.com/v2/logout?federated

2

我在這一點上同樣的要求。我也使用Auth0。

從他們的文檔中,我明白調用Auth0註銷端點將只會清除Auth0上的SSO cookie,並且不會註銷所有其他應用程序。我們有責任爲每個應用程序清除會話。

同樣是使用Auth0 anjularjs樣品這裏https://github.com/auth0/auth0-single-sign-out-sample

希望這有助於解釋。