OAuth2学习目录


0、OAuth2解决的问题域和场景

  • 开放系统间的授权:社交联合登录、开放平台。
  • web页面、原生app、微服务和API间调用。
  • 企业内部应用认证授权(IAM/SSO)。

1、白话OAuth2

  • 什么是OAuth2:是一种认证授权机制。
  • 资源拥有者、客户应用、资源、授权服务器。
    • 授权服务器:生成、颁发access_token。
    • 客户端应用:使用access_token来访问用户资源。

2、OAuth2的定义

  • OAuth2是一种授权框架,不是一种认证协议,仅用于授权代理
  • OAuth不支持Http以外的协议
  • OAuth并不是一个认证协议
  • OAuth并没有定义授权处理机制
  • OAuth并没有定义token格式
  • OAuth2.0并没有定义加密方法
  • OAuth2.0并不是单个认证协议,是一组协议。

OAuth本质:如何获取token、如何使用token

OAuth是一种在系统间的代理授权

OAuth使用代理协议的方式解决密码共享的反模式问题。

OAuth提供一个宽泛的协议框架,具体的安全场景需要定制。

 

3、OAuth2有哪些典型模式

  • 授权码模式:
  • 简化模式
  • 密码模式
    • 使用用户名密码登录的应用,例如桌面app、手机app。
    • 使用用户名密码作为授权方式,从授权服务器上获取access_token。
    • 一般不支持refresh_token
    • 假定资源拥有者和公开客户在相同设备上。
  • 客户端模式:主要用于机器间的调用。

(当token失效之后,可以用refresh_token获取新的access_token)

4、OAuth2模式如何选型

客户端的类型:

  • 公开:原生app 、web app用户直接接触的应用
  • 私密:服务之间的调用,非用户直接操作的。

选型流程:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM