抱歉这样的新手问题。
我对网络安全很陌生。
有人可以向我解释一下,当我可以包含{username |时,为什么我们需要对web api(REST)进行JWT令牌认证?每个API请求的电子邮件} /密码?
答案 0 :(得分:1)
大多数情况下,这是一个关注事物的分离。 JWT是授权请求的一种方式,而用户名/密码是认证的一种方式。关键的区别在于,身份验证应该理想情况下只需执行一次,并且应该由负责此操作的专用端点完成。对于其他所有请求,您只需确认您从初始身份验证中获得的授权。
如果您要为每个请求发送用户名和密码,那么每个端点都必须处理身份验证逻辑,这将是一场噩梦。使用JWT,端点可以简单地验证它是否有效并继续执行它实际负责的内容。
JWT只是一种授权方法。在传统的网站式应用程序中,这将由cookie处理。然后,这使用户能够登录一次,然后继续浏览站点的受保护区域,而无需再次登录。相当于你所建议的内容就像强迫用户每次点击链接时再次登录,只是为了查看下一页。