如何通过azure-devops-extension-api和azure-devops-extension-sdk获取租户ID?
获取Azure DevOps租户ID的解决思路
你当前使用的IProjectPageService仅能获取项目相关数据,无法直接拿到租户ID,以下是两种可行的解决方法:
解析认证Token获取租户ID
通过Azure DevOps扩展SDK的认证服务获取访问Token,Token是JWT格式,其中tid字段即为租户ID。示例代码:import * as SDK from "azure-devops-extension-sdk"; import { CommonServiceIds, IAuthenticationService } from "azure-devops-extension-api"; // 获取认证服务实例 const authService = await SDK.getService<IAuthenticationService>(CommonServiceIds.AuthenticationService); // 获取访问Token const accessToken = await authService.getAccessToken(); // 解析JWT的Payload部分 const tokenPayload = JSON.parse(atob(accessToken.split('.')[1])); // 提取租户ID const tenantId = tokenPayload.tid;通过组织上下文辅助关联
先通过SDK获取当前组织的上下文信息,再结合认证信息推导租户ID(核心仍依赖Token解析),示例代码:import * as SDK from "azure-devops-extension-sdk"; // 获取当前组织上下文 const context = SDK.getConfiguration().context; const organizationId = context.organization.id; // 后续结合认证Token中的租户ID完成关联,核心逻辑同第一种方法
内容的提问来源于stack exchange,提问作者Ali Hasan
相关产品推荐
相关产品推荐

