Как поделиться MSALSessionCache с 2 веб-приложениями? - PullRequest
0 голосов
/ 11 сентября 2018

Я разработал 2 веб-приложения.Я использовал Azure Active Directory v2.0 для идентификации пользователя.Эти два приложения размещаются как отдельные веб-приложения в Azure.используя шлюз приложений, я перенаправляю конкретный запрос в веб-приложения.

Если пользователь запрашивает какое-либо из веб-приложений, то сначала оно перенаправляется на конечную точку клиента Azure для аутентификации.

Послепри успешном входе в систему он будет перенаправлен в основное веб-приложение, и я следовал приведенному ниже коду в методе OnAuthorizationCodeReceived.

TokenCache userTokenCache = new MSALSessionCache (signatureInUserID, messages.OwinContext.Environment ["System.Web.HttpContextBase")] как HttpContextBase) .GetMsalCacheInstance ();ConfidentialClientApplication cca = new ConfidentialClientApplication (ApplicationId, Authority, RedirectUri, new ClientCredential (ApplicationKey), userTokenCache, null);

Сейчас, когда пользователь перемещается из одного веб-приложения в другое веб-приложение.Я использую код ниже, чтобы получить токен из кэша.

TokenCache userTokenCache = новый MSALSessionCache (signatureInUserID, новый HttpContextWrapper (HttpContext.Current)). GetMsalCacheInstance ();ConfidentialClientApplication cca = new ConfidentialClientApplication (Startup.ApplicationId, Startup.Authority, Startup.RedirectUri, новый ClientCredential (Startup.ApplicationKey), userTokenCache, null);

var user = cca.Users.FirstOr;*

Когда я реализую этот код и пытаюсь получить токен во втором веб-приложении. Затем он выдаст мне нулевое значение в пользовательской переменной и выдаст ошибку.

Что мне делать?

Примечание. Если какой-либо пользователь вошел в одно веб-приложение, он не требует входа в другое веб-приложение.Сеансы и файлы cookie используются всеми веб-приложениями.

1 Ответ

0 голосов
/ 28 сентября 2018

Настройка сериализации кэша токенов для совместного использования состояния единого входа между ADAL.NET 3.x, ADAL.NET 4.x и MSAL.NET объясняется в следующем примере: active-directory-dotnet-v1 -в-v2

В этом решении показано, как настроить сериализацию кэша токенов в настольном приложении .NET, чтобы оно разделяло состояние единого входа (SSO) между: приложениями ADAL.NET V3.x, приложениями ADAL.NET V4.x, MSAL. NET 2.x приложения

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