AADSTS50012:从测试应用程序移动到生产应用程序时提供了无效的客户端密码

AADSTS50012: Invalid client secret is provided when moving from a Test App to Production

我在 Azure 门户下注册了两个应用程序:测试版和生产版。我的测试应用程序与我从 Azure 门户的测试应用程序的详细信息中获得的客户端 ID 和 ClientSecret/AppKey 一起正常工作。但是,当我将 ClientId 和 Secret 值替换为我注册的生产应用程序指定的值时,我转向生产应用程序时,突然出现错误:

AdalServiceException:AADSTS70002:验证凭据时出错。 AADSTS50012:提供的客户端密码无效

但我非常确定我的客户端密码是正确的,因为我刚刚从门户网站复制并粘贴了它。有解决办法吗?

请检查您的配置中的租户 ID 和受众 ID。你可能还有测试环境的参考。

您是否尝试过简单地重新生成密钥?

这里的错误非常简单,我不认为这是 AAD 的错误。

让我知道这是否适合您!

对您的秘密进行编码(例如,将 + 替换为 %2B,将 = 替换为 %3D 等)

在我的例子中,我有 2 把钥匙。我创建了第三个,但没有用。最后,我删除了所有密钥并创建了一个新密钥,但是只有一个。然后就成功了。

问题是密钥的过期时间。 6、12、18个月没问题,我用的是azure-cli 2.26.0 24 个月后,您会收到错误消息:

{"error":"invalid_client","error_description":"AADSTS7000215: 提供的客户端密码无效。\r\nTrace ID: fef57aee-deeb-47fa-ae05-ba8427cd4300\r\nCorrelation ID: ba3cc2d5-1594-4af3-be2b-3b35e8d40e06\r\nTimestamp: 2021-10-23 18:18:27Z",""error_codes":[7000215],"时间戳":"2021-10-23 18:18:27Z","trace_id":"fef57aee-deeb-47fa-ae05-ba8427cd4300","correlation_id":"ba3cc2d5-1594-4af3-be2b-3b35e8d40e06","error_uri":"https://login.microsoftonline.com/error?code=7000215"}