SSO с несколькими веб-приложениями Azure - PullRequest
0 голосов
/ 22 мая 2018

У меня есть WEB API, который действует как сервер авторизации (на основе утверждений OAUTH) для одного из клиентских приложений ASP.NET MVC.API написан таким образом, что он способен обеспечить аутентификацию для любого клиентского приложения, настроенного в базе данных.Как веб-API, так и клиентское приложение развертываются в Azure как веб-приложения и работают должным образом.

Теперь у меня есть второе клиентское приложение MVC, которое также будет развернуто в веб-приложении Azure.у меня вопрос: как мне реализовать единый вход для второго приложения, когда пользователь входит в первое приложение

webapp1 Login page      --->   
                              WEB API OAUTH Claims authentication 
      user logs in      <---  

webapp2 (needs SSO)--- >? 

Нужна ли нам виртуальная машина в Azure или Active Directory в Azure для достижения этой цели?

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Насколько я понимаю, AAD - хороший выбор, как прокомментировал Уэйн Ян - MSFT для достижения вашей цели.

Согласно вашему комментарию, я предполагаю, что вы могли бы использовать инфраструктуру IdentityServer для реализации единого входа.Я только что следовал этому учебнику , чтобы реализовать SSO.Вот скриншоты:

enter image description here

Во время реализации я столкнулся с проблемой выхода из IdentityServer3, когда PostLogoutRedirectUris не работал, я следовал за этой похожей проблемой PostLogoutRedirectUri не работает # 1121 , чтобы заставить его работать должным образом.

Подробности, которые вы можете использовать Образцы IdentityServer3 о IdentityServer3.AspNetIdentity для использования ASP.NETИдентификация для управления идентификацией под IdentityServer3.Кроме того, вы также можете использовать IdentityServer4 для ASP.NET Core.

0 голосов
/ 25 мая 2018

Первый случай: Ваше второе клиентское приложение имеет тот же домен, что и первый.

  We can use session to save the authentication information(OAuth access token, refresh token, etc) when someone access the first client App. 

  Then, when he/she access the second client App, we can use the same authentication information to do authentication.

Второй случай: Ваше второе клиентское приложение имеет разные домены с первым.

  We can create a SSO Server to use session to save the authentication information like the first case.

Вот схема для вашей справки.

enter image description here

О введении SSO, вот статья для вашей справки: О ССО

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...