Azure active directory 令牌刷新失败,出现无效的\u客户端错误

Azure active directory 令牌刷新失败,出现无效的\u客户端错误,azure-active-directory,Azure Active Directory,我有一个由应用程序a颁发的刷新令牌。此刷新令牌存储在应用程序B有权访问的Azure密钥库中。应用程序B现在获取此refreh令牌并将其交换为访问令牌 不幸的是,此交换失败并显示消息 "error": "invalid_client", "error_description": "AADSTS7000215: Invalid client secret is provided." 不过,客户端密码是正确的。我用它获得了进入钥匙库的通行证 这是从Fiddler获取的刷新令牌交换的HTTP请求(我已

我有一个由应用程序a颁发的刷新令牌。此刷新令牌存储在应用程序B有权访问的Azure密钥库中。应用程序B现在获取此refreh令牌并将其交换为访问令牌

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

"error": "invalid_client",
"error_description": "AADSTS7000215: Invalid client secret is provided."
不过,客户端密码是正确的。我用它获得了进入钥匙库的通行证

这是从Fiddler获取的刷新令牌交换的HTTP请求(我已经删除了所有机密和ID):

这是怎么回事


PS:我知道在密钥库中存储刷新令牌很疯狂,但这是微软推荐的访问CSP合作伙伴API的方法。

与Rohit所说的一样,资源应该是您想要访问的应用程序。
有关这方面的详细信息,请参阅。

我看到您正在指定
资源=https://vault.azure.net
在来自Fiddler的请求中。。它不应该是应用程序A,还是您希望获得访问令牌以换取刷新令牌的应用程序?很好,谢谢!我已将资源更改为“现在”,但仍会收到相同的错误。谢谢,我将资源更改为“现在”,但仍会收到相同的错误。哦,明确地说:我正在使用应用程序B的凭据来交换刷新令牌。这就是问题所在吗?您链接的文档中的示例使用与创建刷新令牌的应用程序相同的应用程序来交换它。您可以尝试使用刷新令牌来交换资源的访问令牌。这就是我正在尝试做的。我在OP中的资源错误,现在已修复,但我仍然收到相同的错误。您应该使用用于请求刷新令牌的相同客户端密钥。
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}