构建 VSTS 扩展 azure webapp 身份验证 JWT 令牌验证失败

Posted

技术标签:

【中文标题】构建 VSTS 扩展 azure webapp 身份验证 JWT 令牌验证失败【英文标题】:Build VSTS extension azure webapp authentication JWT token validation failed 【发布时间】:2018-07-05 16:20:08 【问题描述】:

我正在尝试构建一个可以与 azure web 应用程序通信的 VSTS 扩展。我能够做到这一点,但没有身份验证。我指的是Microsoft documentation。

我获取了从浏览器生成的令牌,即 console.log(token),并在 this website 中验证了它。

它说签名无效。

.Net 框架中提到的用于验证生成的令牌的逻辑不起作用。它给了我以下错误:

IDX10500:签名验证失败。无法解决 SecurityKeyIdentifier: 'SecurityKeyIdentifier

(

IsReadOnly = 假,

计数 = 1,

Clause[0] = X509ThumbprintKeyIdentifierClause(Hash = 0xA0EBDCCF933FEE9F878C82A5157CFDDEEFD5D19A)

)

',

令牌:'"typ":"JWT","alg":"RS256",......

【问题讨论】:

对我来说同样的问题并提交反馈developercommunity.visualstudio.com/content/problem/189687/… 获取令牌的代码是什么?确保代码是 VSS.getAppToken() 而不是 VSS.getAccessToken() 感谢@starian chen-MSFT 这有助于解决问题。 【参考方案1】:

VSS.getAccessToken()替换为VSS.getAppToken()即可解决问题。

【讨论】:

以上是关于构建 VSTS 扩展 azure webapp 身份验证 JWT 令牌验证失败的主要内容,如果未能解决你的问题,请参考以下文章

azure devops vsts 扩展动态上下文菜单,子菜单未正确加载

将 1 个 VSTS 实例链接到多个 Azure 订阅

使用 VSTS 将 Azure Function 发布到 Zip 文件

VSTS Azure powershell:未指定默认订阅

VSTS Drop Single Artifact - 发布到 Azure 多个网站

如何让 VSTS 使用 net Net Standard Azure Functions 找到我的 NetCore 单元测试?