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

相关推荐
前端不太难15 小时前
经典游戏 Claw 的引擎是怎么被逆向出来的
游戏·状态模式
青槿吖17 小时前
SpringMVC通关秘籍(下):日期转换器、拦截器与文件上传的奇幻冒险
java·开发语言·数据库·sql·mybatis·状态模式
尤山海18 小时前
深度防御:内容类网站如何有效抵御 SQL 注入与脚本攻击(XSS)
前端·sql·安全·web安全·性能优化·状态模式·xss
i建模2 天前
利用AI生成程序界面
状态模式
别催小唐敲代码2 天前
前后端交互原理与架构全解
架构·状态模式·前后端
小箌2 天前
springboot_03
spring boot·后端·状态模式
Detachym3 天前
InsightFlow 服务配置优化与部署实践
java·spring boot·tomcat·maven·状态模式·jar
GISer_Jing3 天前
AI Agent技能Skills设计
前端·人工智能·aigc·状态模式
前端不太难3 天前
开源社区如何复活一款经典游戏
游戏·开源·状态模式
欧阳天羲4 天前
AI 时代前端工程师发展路线
前端·人工智能·状态模式