检查令牌对于oauth2中的JWT令牌是否有效的最佳方法是什么。
我应该使用该端点吗?
/oauth/check_token
我不确定如何使用它以及它在做什么。
我需要验证令牌的原因是,我想提供一些过滤器,以便在提供正确令牌时让我登录用户。
或者也许我只是应该从JWT令牌中获取userName,然后向数据库询问User?
答案 0 :(得分:1)
有多种验证OAuth2 JWT
的方法。基本上,它始终是相同的过程:JWT
由发行者签名,签名随后会从收件人(对于您来说,是您自己)进行验证。 JWT
可以进行非对称签名(使用发行者的私钥和合适的证书进行验证)或对称(使用相同的签名和验证密钥)。
自行验证
一种方法是自己(在应用程序代码中)验证JWT
,但是为此,您需要拥有密钥或公共证书。您可以在特定库的帮助下完成此操作(请参见here)。
受信任的第三方的验证
另一种方法是让受信任的第三方为您验证JWT
。这可以在特定端点的帮助下完成,例如建议的/oauth/check_token
(请参阅here)。终结点URL对于不同的身份提供者可能有所不同。此解决方案的优点是您不必在应用程序代码中实现验证逻辑,也不必拥有用于验证的密钥/证书。明显的一大缺点是,每次JWT
验证都需要另外打电话。