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

相关推荐
sg_knight21 小时前
设计模式实战:状态模式(State)
python·ui·设计模式·状态模式·state
别抢我的锅包肉1 天前
FastAPI + Vue3 + Vite 跨域报错全解:从 `Access-Control-Allow-Origin missing` 到彻底修复
中间件·状态模式·fastapi
来自外太空的鱼-张小张1 天前
jeecg预览pdf、jeecg无法预览pdf、jeecg自带预览pdf
pdf·状态模式
jwn9991 天前
Laravel 6.x核心特性深度解析
状态模式
帐篷Li1 天前
CPS统计数据汇总 实现计划
状态模式
onebyte8bits1 天前
NestJS 系列教程(十八):文件上传与对象存储架构(Multer + S3/OSS + 访问控制)
前端·架构·node.js·状态模式·nestjs
前端不太难1 天前
深度解析:OpenClaw 多智能体系统四大支柱
人工智能·状态模式·openclaw
前端不太难1 天前
鸿蒙游戏开发的正确分层方式
华为·状态模式·harmonyos
兄弟加油,别颓废了。1 天前
【无标题】
状态模式
SuperEugene1 天前
Python 函数与模块化:前端工程化思维完全通用| 基础篇
前端·python·状态模式