grpc、https、oauth2等认证专栏实战12:oauth2认证方式中的密码式介绍

已发表的技术专栏(订阅即可观看所有专栏)
0  grpc-go、protobuf、multus-cni 技术专栏 总入口

1  grpc-go 源码剖析与实战  文章目录

2  Protobuf介绍与实战 图文专栏  文章目录

3  multus-cni   文章目录(k8s多网络实现方案)

4  grpc、oauth2、openssl、双向认证、单向认证等专栏文章目录


本篇文章主要介绍oauth2认证方式中的密码式

本次测试直接使用go-oauth2官方提供的测试用例介绍

  • oauth2官方地址
  • oauth2官方测试用例

已经上传到百度网盘了
链接: https://pan.baidu.com/s/1NXNhCTsum9nZxUmXkTrGug 提取码: mlbd

使用的oauth2的版本号是

v4.3.0

1、密码式    主要原理

主要是在认证服务器一端,对用户的用户名,密码进行校验(因此,被称为密码式)

校验通过后,返回用户ID,

将用户ID,客户端ID封装到token里,返回给客户端,

客户端携带token就可以向资源方发起请求了。

2、密码测试

2.1、在认证服务器一侧,需要做的准备

自定义密码式校验处理器

grpc、https、oauth2等认证专栏实战12:oauth2认证方式中的密码式介绍_第1张图片

因此,认证服务器需要提前通过某种方式知道用户的用户名,密码。

注意

密码式必须设置自定义校验处理器的,如果不设置的话,认证服务器会执行默认的处理器,默认的结果就是失败。

grpc、https、oauth2等认证专栏实战12:oauth2认证方式中的密码式介绍_第2张图片

2.2、开始测试,打开浏览器

grpc、https、oauth2等认证专栏实战12:oauth2认证方式中的密码式介绍_第3张图片

3、密码式    源码介绍

备注:

如果你对源码不感兴趣,可跳过

本次源码分析,会比较简单,不会像分析grpc-go那样几乎每行语句都分析。

只需要找到关键点,即可。

3.1、用户在页面点击完localhost:9094/pmd后,发生了什么

grpc、https、oauth2等认证专栏实战12:oauth2认证方式中的密码式介绍_第4张图片

grpc、https、oauth2等认证专栏实战12:oauth2认证方式中的密码式介绍_第5张图片

grpc、https、oauth2等认证专栏实战12:oauth2认证方式中的密码式介绍_第6张图片

grpc、https、oauth2等认证专栏实战12:oauth2认证方式中的密码式介绍_第7张图片

接下来,进入认证服务器端

grpc、https、oauth2等认证专栏实战12:oauth2认证方式中的密码式介绍_第8张图片

grpc、https、oauth2等认证专栏实战12:oauth2认证方式中的密码式介绍_第9张图片

grpc、https、oauth2等认证专栏实战12:oauth2认证方式中的密码式介绍_第10张图片

grpc、https、oauth2等认证专栏实战12:oauth2认证方式中的密码式介绍_第11张图片

至此,

认证服务器已经对客户端传递过来的用户名和密码进行了校验,

至于,后续的token创建过程,跟以前一样就不再分析了。

而且,代码也不难。

你可能感兴趣的:(golang,grpc-go,multus-cni,kubernetes,protobuf)