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

相关推荐
Beginner x_u4 小时前
前端手动实现大文件分片上传调度层:分片计算、并发上传与断点续传
前端·状态模式·断点续传·大文件分片上传
前端不太难5 小时前
鸿蒙游戏的“帧”到底是什么?
游戏·状态模式·harmonyos
夕除1 天前
javaweb--16
java·状态模式
MY_TEUCK1 天前
【AI 应用】前端接口联调工程化:把 Swagger 接入沉淀成可复用 Skill
前端·人工智能·uni-app·状态模式
前端不太难2 天前
鸿蒙 App 架构升级:从页面到 System
架构·状态模式·harmonyos
椰羊~王小美2 天前
除了前端 JS 配置的国际化,对于 JS 没覆盖到的文本,怎么实现国际化
前端·javascript·状态模式
yang9yun2 天前
linux宝塔面板使用API自动部署更新文件
linux·运维·状态模式
ZC跨境爬虫2 天前
Apple官网复刻第二阶段day_2:(前端模块化还原苹果官网WATCH海报)
前端·ui·重构·html·状态模式
shaoFan13 天前
关于java 调用阿里千问大模型,流式返回,并返回给前端
java·前端·状态模式
七七powerful3 天前
运维养龙虾--AI+可观测性根因分析(错误率从 0 飙到 18%,三步用 AI 锁定连接池耗尽)
状态模式·根因分析