在Azure DevOps与OAuth2集成场景下,如何获取用户显示名称?
通过Azure DevOps OAuth2令牌获取用户显示名称的方法
完全可以,有两种常用实现方式:
1. 直接解析JWT令牌(适用于ID令牌场景)
如果你的应用获取到的是ID令牌(ID Token),它本身是JWT格式的令牌,解码后就能直接提取用户显示名称:
- 解码后的JWT payload里,
name字段对应用户的完整显示名称,given_name和family_name则分别是名和姓。 - 可以用本地代码库解析(比如JavaScript的
jwt-decode、Python的pyjwt),不需要额外调用外部API。
2. 调用Azure DevOps用户信息API(适用于访问令牌场景)
如果拿到的是访问令牌(Access Token),可以通过调用Azure DevOps的用户资料API获取:
- 请求示例:
GET https://vssps.dev.azure.com/{你的组织名}/_apis/profile/profiles/me?api-version=7.1-preview.3 - 请求头需携带令牌:
Authorization: Bearer {你的访问令牌} - 响应结果中的
displayName字段就是用户的显示名称。
注意事项
确保你的OAuth2应用在申请令牌时,已经请求了vso.profile权限,否则API会返回权限不足的错误。
内容的提问来源于stack exchange,提问作者Annat Himmel
相关产品推荐
相关产品推荐

