手机版

JWT与ASP.NET核心区整合步骤记录

时间:2021-08-22 来源:互联网 编辑:宝哥软件园 浏览:

[什么是JWT]

JSON网络令牌(JWT)是目前最流行的跨域认证解决方案。

JWT官方网站地址:https://jwt.io/

一般来说,JWT是一个可以代表用户身份的令牌。JWT令牌可用于在api接口中检查用户身份,以确认用户是否有权访问api。

JWT包含身份验证所需的参数和用户定义的参数。JWT可以使用秘密(HMAC算法)或RSA或ECDSA的公钥/私钥对进行签名。

【何时应该使用JSON Web令牌?】

授权:这是使用JWT最常见的方案。一旦用户登录,每个后续请求将包括JWT,允许用户访问令牌允许的路由、服务和资源。单点登录是JWT广泛使用的功能,因为它几乎没有开销,并且可以在不同的域中轻松使用。

信息交换:JSON Web token是各方之间安全传递信息的好方法。因为JWT可以签名——例如,使用公钥/私钥对——你可以确定发送者就是他们所说的那个人。此外,因为签名是使用标头和有效负载计算的,所以您还可以验证内容没有被篡改。

【JWT有什么优势?】

用户将用户名和密码发送到服务器。服务器验证后,保存当前会话中的相关数据,如用户角色、登录时间等。服务器向用户返回一个session_id,并写入用户的Cookie。用户的每个后续请求都会通过Cookie将session_id发送回服务器。一旦接收到session_id,服务器就会找到前一时期保存的数据,从而知道用户的身份。这个模型的问题是它不可伸缩。单台机器没有问题。如果是服务器集群或跨域面向服务的体系结构,则需要会话数据共享,并且每台服务器都可以读取会话。如果会话中存储的节点挂了,整个服务就会瘫痪,体验会比较差,风险会很高。

相比之下,JWT的实现是在客户端存储用户信息,而不是在服务器端。每个请求都会带来一个令牌来验证用户的登录状态,这样服务就会变成无状态,服务器集群也会很好地扩展。

[JWT令牌结构]

在紧凑的形式中,JSON网络令牌由三部分组成,用点(。),它们是:

报头报头有效载荷签名因此,JWT通常如下:

版权声明:JWT与ASP.NET核心区整合步骤记录是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。