grpc、https、oauth2等认证专栏实战13:oauth2认证方式之客户端凭证式介绍

发布于:2022-12-07 ⋅ 阅读:(545) ⋅ 点赞:(0)

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

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

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

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

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


本篇文章主要介绍oauth2认证方式中的客户端凭证式

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

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

使用的oauth2的版本号是

v4.3.0

1、客户端凭证式,主要原理

主要是在认证服务器一端,对客户端的ID以及授权方式进行校验(因此,被称为客户端凭证式)

校验通过后,返回用户ID

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

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

2、客户端凭证测试

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

在这里插入图片描述

注意:

客户端凭证式不一定非得设置自定义校验处理器的,

如果没有设置,认证服务器默认执行成功,即默认认为客户端ID为合法客户端。

2.2、打开浏览器输入访问地址localhost:9094/client

在这里插入图片描述

3、客户端凭证式    源码介绍

备注:

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

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

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

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

在这里插入图片描述

认证服务器端一侧,需要根据clientID进行校验,即客户端凭证式校验

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

到目前为止,客户端一侧,已经知道重定向地址了,

以及将客户端ID,客户端密钥封装到了请求头的Authorization字段下

接下来,认证服务器端一侧,进行客户端凭证验证时,

只需要从请求头里读取Authorization获取到客户端ID,并对其进行校验,就是所谓的客户端凭证模式

如果校验通过,认证服务器就可以创建token了。


进入认证服务器端一侧的/oauth/token接口下

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

具体的token创建方式,不再详细研究了。

下一篇文章

  grpc-go单向认证

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到