javascript - TFS / AzureDevOps 扩展获得唯一的用户身份
问题描述
是否有可能通过 VSS SDK 请求用户的全局 ID?
我的意思是可以将 IdentitiesClient.readIdentity() 与描述符一起使用。但这将提供一个 ID 仅在给定 Collection 上唯一的对象。
如果我在另一个集合上调用它,它会返回另一个 ID。
顺便说一句,这是在后台调用: https ://tfshost.com/tfs/_apis/Collection/Identities/System.Security.Principal.WindowsIdentity;..SID ...
如果我在没有收集的情况下调用相同的端点,则从浏览器: https ://tfshost.com/tfs/_apis/Identities/System.Security.Principal.WindowsIdentity;..SID ...
它会给我一个全球唯一的ID。但是在 SDK 中没有这样的包装器,并且似乎扩展没有权限调用这个全局 api 端点。
我想通过扩展本身获取这个 id,因为我正在使用 JWT 身份验证,并且生成的令牌也包含这个 id。
这样我就可以针对由 JWT Auth 在 3rd 方服务中发送的当前用户使用 TFS 身份。
解决方案
我们可以通过 VSS.getWebContext().user.id
获取当前用户的身份vss-web-extension-sdk
。
有关此 API 和 SDK 的更多详细信息,您可以参考以下文档:
GitHub 上的 vss-web-extension-sdk 存储库:
推荐阅读
- python - Unable to use "scheme" attribute when plot GeoDataFrame
- css - 是否值得为 IE 或任何其他旧版本指定某些属性?[向后兼容]
- ios - Swift - 在我的项目中获得零,而我正在尝试通过 cellForItem 访问项目
- google-cloud-pubsub - Cloud Pub/Sub 适用于特定区域。这是什么意思?请确认
- sql - 如何仅从下表中获取数值。每次长度可能会有所不同
- graphql - SuiteCRM 与 Graphql 的集成
- swift - Parsing Infix Mathematical Expressions in Swift Using Regular Expressions
- jquery - $(...).insertFusionCharts 不是使用 jQuery 的角度函数
- scala - scala中数组项的索引
- java - Switch 语句不允许我将 ArrayLists 的最后一个元素添加到新的 ArrayList