Azure Active Directory B2C не десериализует httpContext.Session в проекте MVC - PullRequest
0 голосов
/ 02 сентября 2018

Я успешно получил пример github "active-directory-b2c-dotnet-webapp-and-webapi", работающий с моим собственным Арендатором и Azure Active Directory B2C. Это работает, как ожидалось. Когда я создаю свой собственный проект MVC с нуля и копирую каждую вещь до тех же самых dll-ов, он не может воспроизвести те же результаты, что и образец. Сбой при попытке десериализации HttpContext.Session в классе MSALSessoCache, метод Load.

Я вижу, что я получаю токен с правильной информацией и заявлениями, когда в OnAuthorizationCodeReceived. Это также отражается в журналах аудита порталов как успешное. При пошаговом выполнении кода десериализация приводит к исключению нулевого объекта при преобразовании в BLOB-объект. Я вижу информацию о пользователе и тот факт, что она работает в образце, я предполагаю, что Azure Tenant верен.

Я создал новое приложение MVC .net 4.7.2 с «Без аутентификации», изменил HTTPS, а также обновил URL проекта в свойствах. Я скопировал код для проверки класса OWIN Startup.cs и Startup.Auth.cs. Все идентично, за исключением URL-адреса перенаправления https и https TaskServiceUrl в web.config ... даже точно такие же версии DLL. Я также проверил, что правильный URL-адрес https был добавлен в настройку приложения клиента с Azure B2C. Я в растерянности.

1 Ответ

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

С некоторой помощью мы выяснили, что понижение версии Microsoft.Identity.Client dll до версии 1.1.0.0 помогло. Я знаю, что 1.1.4.0 и 2.0.0 не работают. Не могу сказать, работает ли 1.1.1.0, 1.1.2.0 или 1.1.3.0 или нет. Спасибо asmithKinegdo

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