使用Spring Security OAuth2微服务系统和JWT保护微服务系统

一,什么是OAuth2
OAuth2是一个标准的授权协议;
1.用户打开客户端,客户端询问用户授权。
2.用户同意授权
3.客户端向授权服务器申请授权
4.授权服务器对客户端进行认证,也包括用户信息的认证,认证成功后授权给令牌。
5.客户端获取令牌后,携带令牌向资源服务器请求资源。
6.资源服务器确认令牌正确无误,向客户端释放资源。

二,如何使用Spring OAuth2
.OAuth2 Provider负责公开被OAuth2保护起来的资源,
1.配置Authorization Server;
2.Resource Server的配置
三,JWT:json web token:
将各个主题的信息包装成为JSON对象,主题信息是通过数字签名,进行加密和验证的,常使用HMAC算法或RSA算法对JWT进行签名
1.紧凑型(compact),数据体积非常小,可以通过POST请求或HTTP请求头发送,传输速度快;
2.自包含型,JWT包含了主体的所有信息,所以避免了每个请求都需要向Uaa服务验证身份,
结构:

Header,
{
"alg":"123456"
"typ":"JWT"
}

Payload.
{
"sub":"123456"
"name":"John":"Doe"
"admin":true
}
Signature:
HMACSHA56{
base64UrlEncode(Header)+"."+base64UrlEncode(payload),secret
}

四,应用场景:
认证
这是使用JWT最常见的场景,一旦用户登陆成功获取JWT后,后续每个请求都将携带JWT.例如:单点登录
信息交换::当Header和PayLoad计算签名时,还可以验证内容是否被篡改。
五,如何使用JWT?
1.登录
2.用密匙创建JWT;
3.返回JWT给浏览器;
4.在Header中加JWT;
5.检查解密JWT获取用户信息;
6.给客户端响应;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值