OAuth 2.0学习
Posted haonan-cyf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OAuth 2.0学习相关的知识,希望对你有一定的参考价值。
一、认识OAuth2.0
是什么:OAuth是一个关于授权的开放网络标准
能做什么:以安全的方式做数据的共享(第三方登录授权)
二、OAuth2.0 四种授权模式
1. 授权码(认证码)模式 (Authorization code) response_type=code
2. 简化(隐形)模式 (Impilict) response_type=token
3. 用户名密码模式 (Resource Owner Password Credential) grant_type=password
4. 客户端模式 (Client Credential) grant_type=client_credential
OAuth2.0的核心既是取得access_token,四种授权模式殊途同归,最终都是要取得access_token,只是路径不同,参数不同
问题:什么场景选择哪种方式?
授权码:第三方登录授权
客户端凭证:机器与机器之间
用户名密码:QQ和QQ音乐(都是一方的)
简化:第三方共同开发
三、四种模式实践
参考代码地址https://github.com/spring2go/oauth2lab
1.授权码模式授权服务器的测试
分析:授权码模式的授权服务器需要授权服务和资源服务,还需要返回用户的信息(domain和controller)
测试流程:
a.获取授权码
发送请求:主要是发送客户端id
输入账号密码登录之后
会返回一个随机code
b.获取访问令牌
发送请求携带 客户端id及 secret密码
验证成功会获取access_token
c.调用api
通过access_token能够获取响应的数据
以上是关于OAuth 2.0学习的主要内容,如果未能解决你的问题,请参考以下文章