如何在OAuth 2令牌中获取用户名?Microsoft登录场景
获取Microsoft OAuth2令牌中的用户名
要在Microsoft OAuth2令牌的声明中获取用户名,你可以按以下步骤操作:
补充必要的权限范围
确保你的授权请求里包含openid和profile这两个scope。openid是OpenID Connect流程的基础要求,profile权限会让令牌返回用户的全名(name字段)、名(given_name)、姓(family_name)等信息。比如把请求的scope参数改成:openid profile email offline_access配置应用的可选声明
登录Azure门户,找到你的应用注册,进入「令牌配置」页面。如果当前没有添加用户名相关的声明,点击「添加可选声明」,选择对应的令牌类型(ID令牌或访问令牌,根据你的业务场景选),然后勾选name、given_name、family_name这些选项,保存配置。验证令牌内容
重新发起授权请求获取新令牌后,用微软官方的JWT解析工具jwt.ms查看令牌内容,确认是否已经包含用户名相关的字段。核对请求参数
检查请求的response_type是否正确(比如授权码流用code,隐式流用id_token token),同时确认scope参数确实传递了包含profile的完整值,没有遗漏。
内容的提问来源于stack exchange,提问作者Pedro
相关产品推荐
相关产品推荐

