令牌刷新失败,并显示invalid_client错误

时间:2019-02-14 12:00:22

标签: azure-active-directory

我有一个由应用程序A发出的刷新令牌。此刷新令牌存储在应用程序B可以访问的Azure密钥保管库中。现在,应用B获取此刷新令牌并将其交换为访问令牌。

不幸的是,这次交换失败并显示消息

"error": "invalid_client",
"error_description": "AADSTS7000215: Invalid client secret is provided."

客户机密是正确的。我可以用它来获取对Key Vault的访问令牌。

这是来自Fiddler的刷新令牌交换的HTTP请求(我已删除所有机密和ID):

POST https://login.microsoftonline.com/{TenantId}/oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT; Windows NT 10.0; en-US)  WindowsPowerShell/5.1.17763.134
Host: login.microsoftonline.com
Content-Length: 1221
Connection: Keep-Alive

grant_type=refresh_token
&client_id={ClientId}
&client_secret={ClientSecret}
&resource=https%3A%2F%2Fvault.azure.net
&redirect_uri=https%3A%2F%2Flocalhost%2F
&refresh_token={RefreshToken}

这是怎么回事?

PS:我知道在Key Vault中疯狂地存储刷新令牌,但这是Microsoft建议的访问CSP合作伙伴API的方式。

1 个答案:

答案 0 :(得分:1)

与Rohit所说的一样,资源应该是您要访问的应用程序。 有关此的详细信息,您可以参考here