Защита конечной точки весенней загрузки с помощью Azure AD

Я пытаюсь защитить конечную точку при весенней загрузке с помощью библиотек загрузки Azure Spring. Я слежу за примерами из https://github.com/microsoft/azure-spring-boot/tree/master/azure-spring-boot-samples/azure-active-directory-spring-boot-sample

Я не могу получить четкого ответа, следует ли использовать Id_token или Access_token при вызове API из моего внешнего приложения, написанного на React.

https://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens Я думаю, что в документации по этой ссылке выше говорится, что я должен использовать Access_token для защиты конечных точек, но в этих примерах azure-spring-boot они использовали id_token для делать вызовы API.

Я пробовал использовать тот же код и протестировать вызов API. Вызов API будет успешным, если я использую id_token в заголовке. Он не проходит проверку подписи, если я передаю access_token в заголовок.


person Roijjer    schedule 11.11.2019    source источник


Ответы (2)


Я понял это после понимания большой картины. Все приложения, как интерфейсные, так и серверные, скорее всего, должны использовать разные идентификаторы приложений. На портале Azure я бы определил, какое приложение имеет разрешение на вызов какого API. Затем, когда я получу токен доступа, мне нужно будет указать, к какому приложению я получаю доступ. Это изложено в документе MSAL от Microsoft. https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-acquire-cache-tokens.

person Roijjer    schedule 12.11.2019

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

person rkralston    schedule 12.06.2020