为了账号安全,请及时绑定邮箱和手机立即绑定

如何调试 .Net Framework AuthorizeAttribute 中的 JWT 问题

如何调试 .Net Framework AuthorizeAttribute 中的 JWT 问题

C#
哈士奇WWW 2022-12-24 11:54:29
我有与 JWT 一起工作的 Asp.Net 4.6 webAPI 应用程序。我正在使用Okta 授权代码流/令牌交换来获取令牌。然后我在我的所有请求中使用令牌。使用我的 Okta 开发端点时一切正常,但是当我使用我们的生产 Okta 端点时,经过身份验证的请求失败。授权和代码/令牌交换工作正常,但是当我使用 [Authorize] 属性向我的 WebApi 控制器请求数据时,请求似乎没有返回任何内容,甚至没有返回错误。事实上,chrome 中的请求显示请求永远不会完成。(尽管预检 OPTIONS 请求确实得到了 200)。我还可以在 Wireshark 中看到请求,并且永远不会发送响应。最明显的答案是,我的代码或生产 Okta 端点上存在配置问题,导致 Authorize 属性静默失败。但我主要担心的是我似乎找不到调试它的方法。我尝试从 Authorize 属性继承,并覆盖所有方法以查看是否可以通过在这些方法中放置断点来确定任何内容,但是方法 OnAuthorization、IsAuthorized、HandleUnauthorizedRequest 等似乎永远不会被调用。在那里调试的最佳方法是什么?是否有一个 Asp.Net 事件我可以挂钩以查看正在发送/返回到 Okta 以验证传入令牌的内容?为什么它默默地失败了?这似乎是一个设计上应该冒出来的错误。
查看完整描述

1 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

这很可能是因为您的产品没有 API 访问管理。在您的预览组织中。您有免费的 API AM,因此它可以工作。在您的生产组织中。你得买这个功能。在每个组织上进行测试。转到 Okta 管理仪表板 > 安全 > API。您可能会看到其中一个的“授权服务器”选项卡,而另一个则看不到。

另一个问题可能是,如果您的问题是您的组织。URL 然后 Okta 不会给出令牌的密钥无法在本地验证。

不看你的配置很难说,但以上两种情况很常见


查看完整回答
反对 回复 2022-12-24
  • 1 回答
  • 0 关注
  • 165 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号