已发表的技术专栏(订阅即可观看所有专栏)
0 grpc-go、protobuf、multus-cni 技术专栏 总入口
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创建方式,不再详细研究了。
下一篇文章
本文含有隐藏内容,请 开通VIP 后查看