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能够获取响应的数据

猜你喜欢

转载自www.cnblogs.com/haonan-cyf/p/10508127.html