Нужно ли вызывать acquTokenSilent каждый раз, когда мне нужен токен? - PullRequest
0 голосов
/ 22 июня 2019

Итак, я создаю приложение, которое может войти в систему с учетной записью Microsoft. Я уже настроил свое приложение в Azure и разрешениях.Это уже работает, но после переключения маршрутов и повторного использования acquTokenSilent я получаю эту ошибку.Я использую loginRedirect, зарегистрированный RedirectURI в моем приложении является только аутентификацией, или я должен зарегистрировать все свои возможные маршруты в своем приложении Azure?

https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-core/samples/react-sample-app

Я следовал этому примеру идобавил некоторые возможности маршрутизации с использованием response-router-dom

Я ожидаю, что все будет в порядке, так как я уже вошел в систему, но я получаю это

"AADSTS50011: URL-адрес ответа, указанный взапрос не соответствует URL-адресам ответа, настроенным для приложения: '308cc3d1-3214-48ce-99b2-697fc9211852'. "

1 Ответ

1 голос
/ 23 июня 2019

Ошибка указывает, что в вашем запросе токена указан URL-адрес ответа, отличный от того, который вы зарегистрировали в AAD для этого приложения.Они должны быть точно такими же.

Вы вызываете AcquireTokenSilent перед каждым набором вызовов API, чтобы убедиться, что у вас есть действительный токен для этих вызовов.AcquireTokenSilent вернет токен, который у него уже есть в кеше, если он все еще действителен, или получит новый, используя токен обновления или куки в случае неявного id_token.Вы можете сделать этот вызов, однако, только если вы уверены, что у вас уже есть токен доступа, или использование уже было аутентифицировано предыдущим вызовом токена получения без вывода сообщений.

...