Ошибка обновления токена microsoft-adal-angular6

Я использую Angular ADAL wrapper microsoft-adal-angular6 в своем приложении. Аутентификация работает. однако во время обновления токена Azure AD возвращает ошибку "Запрос на вход без вывода сообщений был отправлен, но ни один из зарегистрированных пользователей не соответствует запрошенной подсказке для входа". есть ли решение этой проблемы?

Это след от скрипачей. ЗАПРОСИТЬ ЗАГОЛОВКУGET /xxxx-xxxx-xxxx-xxxx/oauth2/authorize?response_type=id_token&client_id=xxxx-xxxx-xxxx-xxxx&redirect_uri=http://localhost:4200/#/login/callback#&state=xxxx-xxxx-xxxx-xxxx|xxxx-xxxx-xxxx-xxxx&client-request-id=xxxx-xxxx-xxxx-xxxx&x-client-SKU=Js&x-client-Ver=1.0.17&prompt=none&login_hint=Firstname.Lastname@comapany.com&domain_hint=company.com&nonce=xxxx-xxxx-xxxx-xxxx HTTP/1.1

ОТВЕТLocation: http://localhost:4200/#error=login_required&error_description=AADSTS50058: A silent sign-in request was sent but none of the currently signed in user(s) match the requested login hint. Trace ID: 81dc661a-9151-4d18-a951-e202aa411b00 Correlation ID: ce35413a-f1fa-44ef-aa48-937375c579cc Timestamp: 2020-07-01 11:23:35Z&error_uri=https://login.microsoftonline.com/error?code=50058&state=xxxx-xxxx-xxxx-xxxx|xxxx-xxxx-xxxx-xxxx

Я попробовал adalsvc.RefreshToken(), чтобы избежать тихого входа в систему (это правильно?), И получил предупреждение ниже.Set-Cookie header is ignored in response from url: https://login.microsoftonline.com/xxxx-xxxx-xxxx-xxxx/oauth2/authorize?response_type=id_token&client_id=xxxx-xxxx-xxxxx-xxxx&redirect_uri=http://localhost:4200/#/login/callback#&state=xxxx-xxxx-xxxx-xxxxx|xxxx-xxxx-xxxx-xxxx&client-request-id=xxxx-xxxx-xxxx-xxxx&x-client-SKU=Js&x-client-Ver=1.0.17&prompt=none&login_hint=firstname.lastname@company.com&domain_hint=company.com&nonce=xxxx-xxxx-xxxx-xxxx. Cookie length should be less than or equal to 4096 characters.

1 ответ

Некоторые из возможных причин ошибки

Возможное решение №1. Проактивная проверка истечения срока действия. Вы можете попытаться предотвратить возникновение этой ошибки, проверив, есть ли у вас действительный токен идентификатора. Если ваш ID-токен недействителен, вы попросите пользователя снова войти в систему.

Возможное решение №2. Выявление ошибки и запрос пользователя на повторный вход. Чтобы устранить эту ошибку, вам необходимо перехватить эту ошибку в обратном вызове, который вы можете передать в JS-функцию ADAL Purchasetoken. В случае возникновения ошибки AADSTS50058 вы попросите пользователя снова войти в систему.

Возможное решение № 3 Блокировщики файлов cookie расширений браузера и сторонние файлы cookie отключены. Некоторые пользователи могут столкнуться с этой проблемой из-за расширения браузера, которое блокирует файлы cookie в целях отслеживания. Это приведет к возникновению этой ошибки AADSTS50058, вам нужно будет внести конечную точку login.microsoftonline.com в белый список в расширении браузера, чтобы избежать повторного появления этой ошибки.

Эта ошибка также может возникнуть, если в вашем браузере отключены сторонние файлы cookie. Повторно включите сторонние файлы cookie в своем браузере, чтобы предотвратить возникновение этой ошибки.

Пожалуйста, обратитесь к этой ссылке

Пожалуйста, выберите MSAL вместо ADAL, и вот образец для angular с использованием MSAL

Пожалуйста, перейдите по ссылке для миграции ADAL на MSAL

Другие вопросы по тегам