У меня есть сайт, который использует аутентификацию OpenID Connect/ADAL для аутентификации пользователей с помощью Azure AD. Приложение также использует API-интерфейс Microsoft Graph для извлечения пользовательских данных из AD.Аутентификация с мобильных устройств с OpenID Connect/Azure AD, не работающая с API-интерфейсом Microsoft Graph
Аутентификация работает хорошо со всех видов устройств с тех пор, как она была реализована пару месяцев назад.
Но несколько недель назад (23 августа, если быть точным) аутентификация с мобильных устройств внезапно прекратилась, хотя никаких изменений в коде или, насколько мне известно, в инфраструктуре компании не было.
В обработчик событий AuthorizationCodeReceived моего метода ConfigureAuth, я aquire результата аутентификации таким образом:
var authenticationContext = new AuthenticationContext(settings.Authority);
var authenticationResult = authenticationContext.AcquireTokenByAuthorizationCode(context.Code, new Uri(settings.RedirectUri), new ClientCredential(settings.ClientId, settings.ClientSecret), resource);
где ресурс является API URL Microsoft Graph.
Однако, с тех пор 23 августа, то AcquireTokenByAuthorizationCode бросает AdalServiceException с сообщением:
AADSTS50097: требуется аутентификация устройства.
Если я опускаю параметр ресурса в своем вызове AcquireTokenByAuthorizationCode или меняю его на «https://graph.windows.net», например, аутентификация с мобильных устройств работает как шарм. Но тогда я, очевидно, не могу получить доступ к API-интерфейсу MS Graph.
Есть ли способ решить эту проблему, чтобы я мог получить доступ к API-интерфейсу MS Graph и войти в систему с помощью мобильных устройств?
Вы проверили, не истечет ли срок действия вашего секретного ключа клиента? – Saca
Клиентский секрет все еще хорош. – bstrm
Можете ли вы поделиться полным сообщением об ошибке (которое должно содержать CorrelationId и timestamp)? –