Я разработал 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 используются всеми веб-приложениями.