MSAL Angular 登录当用户登录我的应用程序时,来自普通租户的无效访问令牌以“Ew”开头

问题描述 投票:0回答:1

祝大家度过美好的一天。

我们在 azure 上有一个企业应用程序注册应用程序,还有一个 Angular(SPA) 应用程序,用户将通过该应用程序登录并通过 MSAL 登录弹出窗口获取访问令牌。

我已在独立组件上配置了 MSAL 配置:

new PublicClientApplication({ // MSAL Configuration
        auth: {
          clientId: "my-hidden-client-id",
          authority: "https://login.microsoftonline.com/common/",
          redirectUri: "http://localhost:8105/integration/email/outlook"
        },

我的登录弹出配置为:

之后,我请求获取他们的一些信息的权限。顺便说一句,在 Portal.azure.com 上,我已经向我们的企业应用程序注册添加了一些 api 权限,以将这些权限添加为 jwt 令牌中的范围数组。

但是返回模型的 access_token 字段不是 jwt 令牌,它以“Ew”开头,我无法使用它来初始化 .Net 中的图形客户端。返回模型的访问令牌类似于:“accessToken”:“EwCAA8l6BA ...”。那么,在登录 Microsoft 时,如何使用“https://login.microsoftonline.com/common”url 获取访问令牌作为 JWT 承载令牌。我对此缺少什么。或者我如何使用 "accessToken":"EwCAA8l6BA..." 令牌通过 OnBehalfOfCredential 身份验证对 Entra ID 初始化图形客户端。

希望我们能找到解决方案。

graph azure-ad-msal msal-angular msal
1个回答
0
投票

注意:如果您使用个人 Microsoft 帐户登录,访问令牌将以 Ew 开头...

我使用个人 Microsoft 帐户登录:

enter image description here

enter image description here

例如,我通过 Postman 生成了访问令牌

https://login.microsoftonline.com/common/oauth2/v2.0/token

client_id:ClientID
grant_type:authorization_code
code:code
redirect_uri:https://jwt.ms
code_verifier:S256
scope:https://graph.microsoft.com/.default

enter image description here

我使用个人帐户签名,访问令牌以 Ew 开头。

通过使用上述访问令牌,我可以成功调用 Microsoft Graph API:

https://graph.microsoft.com/v1.0/me/calendar

enter image description here

否则,请使用 id 令牌来初始化所有帐户类型的图形客户端。

© www.soinside.com 2019 - 2024. All rights reserved.