Asp 网站 API。 JWT 认证 vs 用户名/密码认证

Asp Web API. JWT Authentication vs username / password Authentication

抱歉这样的新手问题。

我对网络安全还很陌生。

有人可以向我解释一下,当我可以包含 { 用户名 | 时,为什么我们需要 Web api (REST) 的 JWT 令牌身份验证?每个 API 请求的电子邮件 } / 密码?

主要是关注点分离。 JWT 是一种授权 请求的方式,而username/password 是一种验证 的方式。关键区别在于身份验证是理想情况下您只需要执行一次的操作,并且应该由负责该操作的专用端点完成。对于其他所有请求,您只需确认您从初始身份验证中收到的授权。

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

JWT 只是一种授权方法。在传统的网站式应用程序中,这将由 cookie 处理。这样一来,用户只需登录一次,就可以继续浏览站点的受保护区域,而无需再次登录。与您建议的等效内容本质上就像强制用户在每次单击 link 时再次登录,只是为了查看下一页。