2015-06-09 5 views
1

У меня есть URL «http://mywebsite.com» вот так. Я использую Auth0 для входа в мое веб-приложение. Когда пользователь зарегистрировался в моем приложении, я зарегистрирую пользователя на моем сайте Wordpress и на другом веб-сайте, используя тот же логин (Single Single Sign On). Как только пользователь выйдет из моего приложения, мне нужно выйти из Wordpress и другого веб-сайта. Также (Single Sign OFF/OUT).Одиночный вход во все приложение, использующее Auth0

Возможно ли это?

пожалуйста, предложите лучший вариант

ответ

1

@udayr ответ привел меня на правильный путь:

Я на самом деле с помощью ASP.Net Owin, поэтому я создал перегрузку LOGOFF конечной точки на Auth0AccountController всех моих приложений, как это :

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

Затем я добавил SLO (Single Логарифм) вид и поместите следующий код на нем:

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

В принципе, нам нужно сделать вызов Get в новую конечную точку LogOff с помощью iframes, что означает, что все приложения должны знать все остальные URL-адреса других приложений, и это необходимо реализовать для всех из них ,

1

не имел никакого опыта делать это лично, но это прямо из Документов на Auth0:

«Это приведет к удалению единого входа печенья, установленному Auth0 . для этого пользователя Если вы хотите зарегистрировать пользователь из своего поставщика удостоверений, добавьте федеративное параметр строки запроса для выхода из системы URL:

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

2

у меня такое же требование в этой точке. Я также использую Auth0.

Из их документации я понимаю, что вызов конечной точки выхода Auth0 позволит очистить файл cookie SSO только на Auth0 и не выйти из всех других приложений. Мы несем ответственность за очистку сессий для каждого приложения.

То же объясняются использование Auth0 anjularjs образца здесь https://github.com/auth0/auth0-single-sign-out-sample

Надеется, что это помогает.

Смежные вопросы