Day18-Oauth2

129 阅读1分钟

一、概述

本次课程主要介绍的内容如下:

  1. OAuth2是什么
  2. 为什么要用OAuth2
  3. OAuth2怎么用
  4. 授权模式

二、OAuth2是什么

(1)用在哪

  • 快递员送货小区门禁等实际场景 image.png

  • 快递员授权机制设计(类似滴滴管家) image.png

  • 令牌和密码 image.png

  • 京东和QQ的故事 image.png

image.png

  • OAuth2.0和1.0区别 image.png

(2)是什么

  • OAuth2角色:OAuth2是目前最流行的授权协议,用来授权第三方应用,获取用户数据 image.png

  • OAuth2授权模式 image.png

  • T31授权流程:T31采用密码模式 image.png

三、为什么要用OAuth2

(1)单体架构:cookie session机制

image.png

(2)分布式架构方案1:session共享

image.png

(3)分布式架构方案2:基于token

image.png

(4)Cookie session和token的区别

image.png

  • Ps
  1. 跨域:①、协议不同(例如:HTTP->HTTPS)②、域名,端口不一样
  2. 跨域是浏览器的安全限制,后台之间调用不涉及跨域

四、OAuth2怎么用

(1)工程结构

image.png

image.png

(2)依赖构件

image.png

(3)授权服务器配置

image.png

  • Ps
  1. 客户端信息之后要配置到数据库里边,目前是在内存中
  2. 令牌在资源服务器最好是不存的(redis,内存中都不存)

image.png

(4)授权服务器测试

image.png

(5)资源服务器配置

image.png

image.png

(5)资源服务器资源

image.png

(6)资源服务器测试

image.png

五、授权模式

(1)授权码模式

image.png

  1. 申请授权码 image.png

  2. 输入用户名密码 image.png

3.返回授权码 image.png

4.申请令牌 image.png

image.png

5.令牌返回数据格式 image.png

6.令牌校验 image.png

7.使用令牌 image.png

(2)简化模式

image.png

1.申请令牌 image.png

2.没登录,返回登录页,输入用户名密码,验证身份 image.png

3.返回令牌 image.png

(3)密码模式

image.png

1.申请令牌 image.png

image.png

(4)客户端模式

image.png

1.申请令牌 image.png