OAuth 2 详解(三):Resource Owner Password Credentials Grant
2022-10-10 08:0:0 Author: jiajunhuang.com(查看原文) 阅读量:2 收藏

这大概是最简单的一种授权方式之一了,那就是用户名密码授权。通常来说,是不建议使用,但是有一种情况下,非常适合:那就是 自家App对接的时候,这样就可以复用已有的授权逻辑。这种模式,通常只适合用在可信度非常高的App里,一般也就是自家的App。

流程

+----------+
| Resource |
|  Owner   |
|          |
+----------+
    v
    |    Resource Owner
    (A) Password Credentials
    |
    v
+---------+                                  +---------------+
|         |>--(B)---- Resource Owner ------->|               |
|         |         Password Credentials     | Authorization |
| Client  |                                  |     Server    |
|         |<--(C)---- Access Token ---------<|               |
|         |    (w/ Optional Refresh Token)   |               |
+---------+                                  +---------------+

Resource Owner Password Grant

步骤如下:

  1. 用户点击登录,应用弹出输入用户名密码界面
  2. 应用带上用户名密码请求Authorization Server,还要携带 client_id, client_secret, scope, grant_type 设置为 password
  3. Authorization Server 校验用户名密码
  4. 校验通过,下发access token,以及 refresh_token, expires_in 等字段
  5. App带着access token请求接口
  6. 接口确认access token有效,返回对应数据

这一种授权模式比较简单,如果是对于第三方授权,那么是不建议使用这种模式的,对于自家App来说,使用这种方式可以复用已有逻辑。


refs:


更多文章
  • 虚拟机里的Ubuntu sudo时卡住
  • Go访问私有变量
  • Raft论文阅读笔记
  • 避免全局变量
  • Go的unsafe包
  • Golang中实现禁止拷贝
  • 人生如戏,全靠演技 -- 《日常生活中的自我呈现》读后感
  • Golang的反射
  • 数据库事务
  • 把网站去掉CSS之后
  • 处理并发的方式
  • 常见的索引方式
  • Golang 实践经验
  • 高性能MySQL笔记第一章
  • 面试的一些技巧



  • 文章来源: https://jiajunhuang.com/articles/2022_10_10-oauth2_explained_password.md.html
    如有侵权请联系:admin#unsafe.sh