祝大家度过美好的一天。
我们在 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 初始化图形客户端。
希望我们能找到解决方案。
注意:如果您使用个人 Microsoft 帐户登录,访问令牌将以 Ew 开头...
我使用个人 Microsoft 帐户登录:
例如,我通过 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
我使用个人帐户签名,访问令牌以 Ew 开头。
通过使用上述访问令牌,我可以成功调用 Microsoft Graph API:
https://graph.microsoft.com/v1.0/me/calendar
否则,请使用 id 令牌来初始化所有帐户类型的图形客户端。