精通Nginx(24)-Nginx Plus增强功能之身份验证JWT
2023-12-13 09:55:22
使用NGINX Plus,可以使用JWT身份验证来控制对资源的访问。JWT 规范是 OpenID Connect 的重要基础,它为 OAuth 2.0 生态系统提供了单点登录令牌。JWT 本身还可以用作身份验证凭证,相比传统 API 密钥,它提供了一种更好的对基于 Web 的 API 的访问控制。API和微服务的部署者也在转向JWT标准,因为它的简单性和灵活性。使用JWT身份验证,客户端提供一个JSON Web令牌,该令牌将根据本地密钥文件或远程服务进行验证。
从session认证说起
互联网服务基本都离不开用户认证。目前最主流的用户认证就是采用session认证模式。
session基本流程
1、客户端浏览器向服务器发送用户名和密码。
2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。
3、服务器向用户返回一个 session_id,写入用户的 Cookie。
4、用户随后的每一次请求,都会通过 Cookie,将 session_id 传回服务器。
5、服务器收到 session_id,找到前期保存的数据,由此得知用户的身份。
session认证缺点
session认证模式最大优点就是简单成熟。但存在如下缺点:
- 服务端保存每个用户的session,随着认证用户的增多,服务端的开销会明显增大。
- session信息保存在当前服务器内存中,意味着用户下次请求还必须要请求在这台服务器上。如果是分布式应用,就相应限制了负载均衡器的能力,也就意味着限制了应用的扩展能力。
- 因为后续访问合法性是基于cookie中session_id来进行的,如
文章来源:https://blog.csdn.net/davidwkx/article/details/134552667
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!