OAuth统一认证流程梳理

用户 应用前端 应用后端 认证端 用户资源 1. 访问应用页面 2. 正常请求接口 3. 登录过期或未登录,返回401,(返回:client_id,state,redirect_url) 4. 重定向到认证页(url参数:client_id+state+redirect_url) 5. 重定向到之前指定的redirect_url(url参数:code,state) 6. 前端解析code,state交给后端(传入:code,state) 7. 拿code去认证端换oauth_token(传入:client_id,client_sceret,code) 8. 返回oauth_token给应用后端(返回:oauth_token) 9. 头部携带oauth_token请求用户信息(请求头携带oauth_token传入) 10. 返回用户信息(返回:用户信息) 11. 保存用户信息,生成应用token返回给前端(返回:应用token) 12. 前端记录应用token并相应用户 用户 应用前端 应用后端 认证端 用户资源

注意:如果想让用户认证完成后重定向回原来访问的那个页面,需要在服务器返回401的时候在localstorage中记录下来当前页面的url,并在认证完成时跳转回那个url

相关推荐
weixin_445476683 天前
LIMS 3.0 测试环境部署过程记录
linux·状态模式
xiaoxiangsiyan4 天前
运维之前端反调试学习
运维·前端·学习·状态模式
热爱编程的小李4 天前
UniApp 实现 H5/Android/uniapp原生 三端 MinIO 预签名 PUT 直传方案
状态模式
Crazy________5 天前
k8s部署若依微服务架构流程,v3.6.6
运维·云原生·容器·kubernetes·状态模式
fīɡЙtīиɡ ℡6 天前
怎么是用JWT
java·状态模式
立心者07 天前
D Gaussian splatting : 部署模型网页展示
状态模式
一水10 天前
TTFT优化:一个方案的5次推倒重来
java·ai·状态模式
yz_aiks11 天前
Requestly规则使用技巧:前端联调、接口Mock与网络请求调试实战
前端·网络·状态模式·requestly
星恒随风11 天前
C++ STL 详解:map 与 multimap 的使用、operator[]
开发语言·c++·笔记·学习·状态模式
Dontla12 天前
q搜索 / q过滤解释(q参数、query参数、q=)
状态模式