栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

3、通过平台理解oauth2协议

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

3、通过平台理解oauth2协议

3、通过平台理解oauth2协议

参考视频:https://www.bilibili.com/video/BV1bP4y157yo?p=5&spm_id_from=pageDriver

参与角色

资源拥有者

授权服务器 资源服务

通过资源服务向外面进行返回,通过客户端进行交互

临时授权码

访问令牌 access token

可以访问所有的授权服务

scope 权限范围

redirect_uri

客户端消息推送地址

方式一、获取授权方账号信息

并不会规定用什么技术实现

spring-cloud-starter-oauth2

code 临时票据

带上code去请求token

可以用access_token换取salary资源

目前仅支持授权码模式authorization_code

首先访问一个获取授权码地址

//接口
oauth/authorize?client_id=c1&response_type-code&scope-all

进入一个授权页面

此时获取到code(临时票据)

//请求uaa一个接口
uaa/oauth/token
grant_type  authorization_code 
    有超时时间 拿到access_token
    

腾讯内部 方式二、简化方式

第二种流程

直接返回access_token
response_type=token

一些注意点
#access_token,这个#是前端的一个锚点。比较适合前端工程去接受请求。

简化模式适合第三方没有服务器条件(vue)

方式三、资源拥有者和第三方应用互相信任(密码模式)

资源拥有者可以把用户名、密码交给第三方,直接与授权服务器进行交互。

相当于是一个资源托管的方式

//需要端口  /oauth/token
//需要的参数
grant_type  password 作为关键字
client_id
client_secret
username
password

是一个信任升级的过程

第四种 客户端模式

三方参与者对互相都是非常信任的

//参数
grant_type  client_credentials
    
client_id
client_secret
小结

根据不同的互信状态,提供4种不同场景。

远程校验方式

oauth_token:专门对access_token进行检测

要求token有足够安全性

缺点

每次请求需要去远程认证

解决方案

jwt本地校验方式

让token字符串包好所有信息

声明一个token store

不再去进行远程服务调用

@AutoWired
private TokenStore tokenStore;

@Bean
public TokenStore tokenStore(){
    return new JwtTokenStore(accessTokenConvert());
}

在uaa工程中也进行管理,下发的是jwt令牌。

什么是jwt令牌

用客户端模式重新申请jwt令牌
可以申请到

这老师业务也不熟啊md

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/721052.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号