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用户直接接触的应用
  • 私密:服务之间的调用,非用户直接操作的。

选型流程:

 

posted on 2019-09-15 17:05  每天进步一点点儿。  阅读(728)  评论(0编辑  收藏  举报

导航