JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案,本章主要讲解下具体在.net core 中的使用
首页> 学海无涯> .NET Core> .Net Core 之Jwt 认证
.Net Core 之Jwt 认证
摘要 JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案,本章主要讲解下具体在.net core 中的使用

传统用户识别


基于cookie-session
是把用户信息保存在服务器,每次请求带上标识匹配资源
没有分布式架构,无法支持横向扩展。

Token校验



鉴权授权:
鉴权中心—根据账号密码颁发token 

带着Token就可以访问API,API认可token,不需要去鉴权中心校验

第三方API也认可Token

SSO: Single Sign On
防止抵赖-防止篡改-信息传递


JWT-Json Web Token

官网:https://jwt.io/

1 授权:这是使用JWT的最常见方案。一旦用户登录,每个后续请求将包括JWT,允许用户访问该令牌允许的路由,服务和资源。Single Sign On是一种现在广泛使用JWT的功能,因为它的开销很小,并且能够在不同的域中轻松使用。

2 信息交换:JSON Web令牌是在各方之间安全传输信息的好方法。因为JWT可以签名 - 例如,使用公钥/私钥对 - 您可以确定发件人是他们所说的人。此外,由于使用标头和有效负载计算签名,您还可以验证内容是否未被篡改。


JWT令牌结构

Header 头
{ "alg": "HS256", "typ": "JWT"}

Payload 有效载荷
JWT 默认是不加密的,任何人都可以读到

Signature 签名--防止抵赖-防止篡改
=HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)
xxxxx.yyyyy.zzzzz

私钥加密,只有对应的公钥才能解密  



令牌示例    https://jwt.io/ debuger

 



后续分享下 IdentityServer4 ASP.NET CORE量身定制, 实现了OpenId Connect和OAuth2.0协议认证授权中间件

版权声明:本文由Contione原创出品,转载请注明出处!

本文链接:https://contione.cn/article/detail/15

本文配乐
来说两句吧

暂无评论,大侠不妨来一发?