当前位置:网站首页>导火索:OAuth 2.0四种授权登录方式必读
导火索:OAuth 2.0四种授权登录方式必读
2022-08-05 10:09:00 【InfoQ】
作者:知识浅谈,CSDN签约讲师,华为云云享专家,阿里云社区星级博主
擅长领域:全栈工程师、爬虫、ACM算法
公众号:知识浅谈
联系方式vx:zsqtcc
前言:
- 关于授权登录包含三个端,资源拥有者(用户),资源服务器(存储用户资源的网站),第三方网站。
- OAuth就是用来分离用户和第三方网站的一个层,用户同意之后,资源服务器可以想第三方网站颁发token,第三方网站通过这个token可以访问资源服务器对应这个用户的信息。
OAuth2.0授权的四种方式
前提:不管哪种方式,都需要第三方网站提前到资源服务器注册身份,获取对应的appid和secret,为了防止token被乱用。
授权码(authorization-code)
- 首先第三方网站携带appid和secrect和redirect_url到资源服务器取获取登陆二维码
- 用户扫码之后把确认通知传递给资源服务器
- 资源服务器按照第一步的redirect_url返回authorization-code和登陆成功状态
- 第三方获取authorization-code之后再携带自己之前注册的appid和secrect和authorization-code去资源服务器获取token
- 然后第三方网站根据token去资源服务器获取到用户信息之后就可以惊醒后续操作了。
隐藏式(implicit)
省去了授权码获取的步骤,直接获取的token,适用于没有后端的网站(不安全)
- 第三方网站携带appid和secrect和redirect_url到资源服务器取获取登陆二维码
- 用户扫码之后把确认通知传递给资源服务器
- 资源服务器按照第一步的redirect_url返回token和登陆成功状态
- 然后第三方网站根据token去资源服务器获取用户信息就可以做后续的操作了
密码式(password)
- 第三方网站携带username和password到资源服务器取获取token
- 然后第三方网站根据token去资源服务器获取用户信息就可以做后续的操作了
客户端凭证(client credentials)
适用于没有前端的命令行应用,即在命令行下请求令牌,这种token不是针对用户的,即有可能多个用户共享同一个令牌。
- 通过在命令行携带appid和secrect到资源服务器取token
- 然后命令行根据token去资源服务器获取用户信息就可以做后续的操作了
总结
掌握了这四种授权登录的思想,以后再做授权登录的时候就简单多了。
边栏推荐
猜你喜欢
随机推荐
百年北欧奢华家电品牌ASKO智能三温区酒柜臻献七夕,共品珍馐爱意
Introduction to SD NAND Flash!
【Unity】【UGUI】【在屏幕上显示文本】
第四章:redis 数组结构的set和一些通用命令「建议收藏」
[Strong Net Cup 2022] WP-UM
mysql进阶(二十七)数据库索引原理
阿里顶级架构师多年总结的JVM宝典,哪里不会查哪里!
egg框架使用(一)
项目成本控制如何帮助项目成功?
Data Middle Office Construction (10): Data Security Management
公众号如何运维?公众号运维专业团队
three.js调试工具dat.gui使用
MySQL事务
无题二
Handwriting Currying - toString Comprehension
仿SBUS与串口数据固定转换
华为轻量级神经网络架构GhostNet再升级,GPU上大显身手的G-GhostNet(IJCV22)
hcip BGP 增强实验
正则表达式replaceFirst()方法具有什么功能呢?
First Decentralized Heist?Loss of nearly 200 million US dollars: analysis of the attack on the cross-chain bridge Nomad