Azure AD authentication failed using idToken or accessToken. Which one should I use?
在azure活动目录文档中指出:
idToken:
accessToken:
我正在使用msal将用户登录到我的vue应用程序(单页Web应用程序),并尝试获取对我的REST API的accessToken。
我的目标是将来以这种方式将前端的身份验证流与后端分离开来,以便将来一些客户端应用程序可以通过accessTokens访问REST API。
登录时,系统提示我弹出权限弹出窗口,然后在
我正在使用带
首先,我想找出使用??哪个令牌?两者都是有效的jwt令牌(https://jwt.ms/),但它们包含不同的字段。我想到目前为止,idToken听起来似乎很有希望,但是我不确定这是否可行,因为我需要将前端的clientId指定为后端中的Audience字段,否则会抛出
您可以使用AAD发行的访问令牌来保护自己的自定义Web API。请注意,您必须首先创建一个自定义范围,然后让用户同意该范围。完成此操作后,您的应用程序将获得该范围的令牌(访问令牌是按资源发布的,这意味着您无法使用例如用于MS Graph的令牌来保护自定义Web API。)
在此处查看我的评论以获取更多信息。
我们使用ID令牌检查用户是否已通过身份验证,并获取其帐户详细信息。访问令牌仅用于保护api调用。
您可以阅读有关Azure文档的更多信息,特别是:
ID Tokens should be used to validate that a user is who they claim to be and get additional useful information about them - it shouldn't be used for authorization in place of an access token.
https://docs.microsoft.com/zh-cn/azure/active-directory/develop/id-tokens