Помните, кто в последний раз заходил в Azure Active Directory Xamarin Forms - PullRequest
2 голосов
/ 10 апреля 2019

Я использую Azure AD для аутентификации пользователя в моем приложении форм Xamarin и того, чего я хочу достичь в своем приложении UWP, если один пользователь разрешит сказать, что он подписан в приложении, а затем вышел из системы. При следующем входе в систему Azure AD должен отображать список пользователей, вошедших в систему на этом конкретном устройстве, чтобы пользователь мог выбрать пользователя и просто ввести пароль.

В моем случае, если я выхожу из системы, тогда пользователь всегда начинает спрашивать адрес электронной почты и пароль

Вот фрагмент кода для регистрации

AuthenticationContext authContext = new AuthenticationContext($"{tenantUrl}/{tenantId}");
                authContext.TokenCache.Clear();

                Windows.Web.Http.Filters.HttpBaseProtocolFilter myFilter = new Windows.Web.Http.Filters.HttpBaseProtocolFilter();
                var cookieManager = myFilter.CookieManager;
                var cookieUri = new System.Uri(tenantUrl);
                HttpCookieCollection myCookieJar = cookieManager.GetCookies(cookieUri);
                foreach (HttpCookie cookie in myCookieJar)
                {
                    cookieManager.DeleteCookie(cookie);
                }

P.S .: Кажется, что проблема для пакета UWP ADAL, так как Samething работает нормально на iOS

Ответы [ 2 ]

1 голос
/ 18 апреля 2019

Отличный вопрос!

В ADAL было необходимо исправление (должен появиться новый выпуск, поэтому все, что выше, чем 5.0.2-preview, будет иметь исправление) для обработки этого в UWP.

Добавьте этот код в ваше приложение:

var x = Windows.Security.Authentication.Web.WebAuthenticationBroker.GetCurrentApplicationCallbackUri();

Возьмите значение (что-то вроде этого: ms-app://s-1-15-2-111638678-219698677-36916742-1909548894-372823757-39941306-27685825/) и зарегистрируйте значение как redirectUri на портале для этого приложения.

Затем вернемся в код, вместо передачи указанного выше значения (x) в качестве redirectURI, передайте null . ADAL / MSAL установит URI перенаправления на https://sso, который будет маршрутизировать через WebAuthenticationManager, и теперь вы должны увидеть список учетных записей, как на iOS.

Вас также может заинтересовать эта документация , особенно если возникают проблемы с сетью корпорации.

0 голосов
/ 17 апреля 2019

В пакете ADAL вы не увидите последний зарегистрированный идентификатор электронной почты пользователя.Но если вы по умолчанию используете пакет MSAL , вы сможете увидеть список последних зарегистрированных пользователей по электронной почте.Я попробовал на своем локальном компьютере, и с пакетом MSAL я могу видеть список идентификаторов электронной почты пользователя.Ниже приведен скриншот.

enter image description here

Надеюсь, приведенная выше информация полезна.

...