码迷,mamicode.com
首页 > 其他好文 > 详细

OAuth 2.0学习(一)

时间:2019-03-11 00:47:41      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:参数   关于   发送请求   三方   secret   pass   简化   模式   是什么   

一、认识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学习(一)

标签:参数   关于   发送请求   三方   secret   pass   简化   模式   是什么   

原文地址:https://www.cnblogs.com/haonan-cyf/p/10508127.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!