Asp Web API。 JWT身份验证与用户名/密码身份验证

时间:2018-02-02 13:26:05

标签: asp.net-web-api asp.net-core-webapi websecurity

抱歉这样的新手问题。

我对网络安全很陌生。

有人可以向我解释一下,当我可以包含{username |时,为什么我们需要对web api(REST)进行JWT令牌认证?每个API请求的电子邮件} /密码?

1 个答案:

答案 0 :(得分:1)

大多数情况下,这是一个关注事物的分离。 JWT是授权请求的一种方式,而用户名/密码是认证的一种方式。关键的区别在于,身份验证应该理想情况下只需执行一次,并且应该由负责此操作的专用端点完成。对于其他所有请求,您只需确认您从初始身份验证中获得的授权。

如果您要为每个请求发送用户名和密码,那么每个端点都必须处理身份验证逻辑,这将是一场噩梦。使用JWT,端点可以简单地验证它是否有效并继续执行它实际负责的内容。

JWT只是一种授权方法。在传统的网站式应用程序中,这将由cookie处理。然后,这使用户能够登录一次,然后继续浏览站点的受保护区域,而无需再次登录。相当于你所建议的内容就像强迫用户每次点击链接时再次登录,只是为了查看下一页。