检查令牌是否对 oauth2 中的 JWT 令牌有效的最佳方法是什么?我应该使用这个端点吗?/oauth/check_token我不确定如何使用它,以及它在做什么。我需要验证令牌的原因是,我想要一些过滤器,当提供正确的令牌时,可以让我登录用户。或者也许我应该从 JWT 令牌中获取用户名,然后向数据库询问用户?
1 回答
MM们
TA贡献1886条经验 获得超2个赞
有多种方法可以验证 OAuth2 JWT
。基本上它总是相同的过程:JWT
由发行人签名,签名稍后从/为收件人(在您的情况下)进行验证。的JWT
可以签署不对称(由发行人的私人密钥和用于验证的合适的证书)或对称的(用于签名和验证相同的密钥)。
自行验证
一种方法是JWT
自行验证(在您的应用程序代码中),但为此您需要拥有密钥或公共证书。您可以在特定库的帮助下完成此操作(请参阅此处)。
受信任的第三方验证
另一种方法是让JWT
受信任的第三方为您验证。这可以在特定端点的帮助下完成,就像您建议的那样/oauth/check_token
(请参阅此处)。不同身份提供者的端点 url 可能有所不同。此解决方案的优点是您不必在应用程序代码中实现验证逻辑,也不必拥有用于验证的密钥/证书。一个很大的缺点显然是,每次JWT
验证都有一个额外的调用。
添加回答
举报
0/150
提交
取消