【问题标题】: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
【问题描述】:

我采用了使用 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="找不到签名密钥"

任何想法这里可能有什么问题?

【问题讨论】:

    标签: 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,效果很好。

    【讨论】:

      猜你喜欢
      • 2020-06-04
      • 1970-01-01
      • 2018-08-03
      • 2020-12-24
      • 1970-01-01
      • 2021-08-19
      • 2021-07-26
      • 2020-06-03
      • 2022-10-25
      相关资源
      最近更新 更多