You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用MSAL.js解码Outlook个人账户的access_token

解决Outlook个人账户Access Token无法解码的问题

你拿到的这个token不是JWT格式,它是Microsoft针对个人账户颁发的传统OAuth 2.0持有者令牌(Bearer Token),这类令牌是加密的,无法用jwt.io或jwt-decode这类JWT解码工具解析。

以下是具体解决思路:

  • 确认令牌类型:Microsoft Graph的Access Token分两种:针对Azure AD工作/学校账户的是JWT格式,而个人Microsoft账户(Outlook个人账户)的令牌是加密的持有者令牌,本身不包含可直接解码的明文声明。
  • 验证令牌有效性:若要确认令牌是否有效,可调用Microsoft Graph的GET https://graph.microsoft.com/v1.0/me接口,在请求头中加入Authorization: Bearer {你的token},如果能正常返回用户个人信息,说明令牌有效。
  • 获取JWT格式令牌(如需):如果业务确实需要JWT格式的令牌,需调整授权流程:
    • 使用Azure AD v2.0授权端点
    • 确保请求的scope包含openid,同时指定受众为https://graph.microsoft.com
    • 应用注册需配置为支持个人账户登录(设置"支持的账户类型"为"任何组织目录中的账户和个人Microsoft账户")
  • 查看用户信息的替代方案:如果只是需要获取用户基本信息,无需解码Access Token,请求openid scope后,授权流程会同时返回id_token(JWT格式),可直接用JWT工具解析该token获取用户声明。

内容的提问来源于stack exchange,提问作者Kishan Vaishnani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 16:05:25