Azure B2C Bearer error =“ invalid_token”,error_description =“未找到签名密钥”

时间:2020-06-18 08:45:26

标签: azure asp.net-core asp.net-web-api azure-ad-b2c

我采用了使用client_credentials流的Microsoft示例 https://github.com/Azure-Samples/active-directory-dotnetcore-daemon-v2/tree/master/2-Call-OwnApi

并完全按照指南的说明使用我的值对其进行了修改,但是当我尝试访问API时仍然出现以下错误

bearer error =“ invalid_token”,error_description =“未找到签名密钥”

任何想法在这里可能出什么问题吗?

2 个答案:

答案 0 :(得分:0)

如果要进行一些故障排除,可以将访问令牌JWT放到jsonwebtoken.io 232中,并从jwt头中获取kid字段。收到孩子后,您可以转到以下位置检查授权服务器的密钥: https://[my OKta org] .com / oauth2 / default / v1 / keys

这将给您ID提供的公共密钥列表。希望这些信息可以帮助您进行故障排除。让我知道您是否还有问题! 为我检查几件事:

1:您是否在小部件/ auth js中设置发行者? 2.如果是,则颁发者是否与默认授权服务器相同? 3.仔细检查[我的Okta网址]正确

答案 1 :(得分:0)

我通过使用Microsoft提供的控制台应用程序示例以及Microsoft提供的Web API示例来解决该问题,它们都可以一起工作,我不应该尝试编写自己的代码,如果您错过的话,这非常棘手一小块。我想补充一件事,微软说使用api:// GUID格式作为范围,这似乎是错误的,或者对我不起作用,有效的是公开的API + /.default示例的完整URL

https://mydomain.onmicrosoft.com/myapiname,效果很好。