我刚刚开始学习身份验证和授权,并尝试了解REST API的JWT和OAuth。
我一直在做一些研究,但有几点仍不清楚:
JWT
的OAuth
答案 0 :(得分:1)
令牌是否包含所有信息以验证请求是否安全?
像hhhhh.ppppp.sssss
这样的JWT的第三部分是使用服务器私钥通过 h eader和 p 令牌的ayload执行的数字签名。服务器将检测到标头,有效负载或签名的任何更改并拒绝令牌
换句话说,在服务器上生成令牌时,是否需要将其与用户名/ ID一起保存在数据库中,以验证对API进行的每次后续调用?
不,因为数字签名可以保护内容。您可以安全地信任令牌中的任何数据
JWT over HTTP是否足够安全,或者是否需要HTTPS?
JWT可能包含隐私敏感信息,并且为了防止此类信息泄露给非预期方,只能通过加密通道(https)传输。如果希望防止向客户披露某些信息,则应对JWT进行加密。
[OAuth]换句话说,我完全外包了身份验证,无需在某处存储用户名和密码。这是对的吗?
是的,您是对的,OAuth允许用户在不泄露凭证的情况下授权第三方应用