【问题标题】:Azure B2C Bearer error="invalid_token", error_description="The signature key was not found"Azure B2C Bearer error="invalid_token", error_description="未找到签名密钥"
【发布时间】:2020-10-08 06:32:12
【问题描述】:
【问题讨论】:
标签:
azure
asp.net-core
asp.net-web-api
azure-ad-b2c
【解决方案1】:
如果您想进行一些故障排除,您可以将访问令牌 JWT 放入 jsonwebtoken.io 232 并从 jwt 标头中获取 child 字段。得到孩子后,您可以通过以下方式检查您的授权服务器的密钥
https://[myokta org].com/oauth2/default/v1/keys
这将为您提供按 ID 的公钥列表。希望这些信息可以帮助您解决问题。如果您还有问题,请告诉我!
帮我检查几件事:
1:您是否在您的小部件/auth js 中设置了颁发者?
2. 如果是,发行者是否与您的默认授权服务器相同?
3. 仔细检查 [my okta url] 是否正确
【讨论】:
-
您好,谢谢您的回复,我正在使用我自己的 Web API 和 Microsoft 提供的控制台应用程序示例,我所做的是采用了 Microsoft 提供的 Web API 示例,它们都一起使用。工作,我不应该尝试编写自己的代码,如果你错过了一小部分,那就太棘手了。我想补充一件事,微软说使用 api://GUID 格式作为范围,这似乎是错误的,或者对我不起作用,有效的是公开 API + /.default 示例mydomain.onmicrosoft.com/myapiname 的完整网址,即工作得很好
【解决方案2】:
我通过使用微软提供的控制台应用程序示例和微软提供的 Web API 示例解决了这个问题,它们都可以一起工作,我不应该尝试编写自己的代码,如果你错过了它会非常棘手一小块。我想补充一件事,微软说使用 api://GUID 格式作为范围,这似乎是错误的,或者对我不起作用,有效的是公开 API + /.default 示例的完整 url
https://mydomain.onmicrosoft.com/myapiname,效果很好。