论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
安全
›
网络安全
›
OAuth2的四种认证方式
OAuth2的四种认证方式
嚴華
金牌会员
|
2024-10-1 23:00:08
|
显示全部楼层
|
阅读模式
楼主
主题
912
|
帖子
912
|
积分
2736
OAuth2是现在盛行的认证协议,主要包含四种认证方式:客户端认证、密码认证、授权码认证、革新令牌认证。
客户端认证grant_type=client_credential
&empsp; 以微信公众号为例,在发布文章时,要提交一个token,但是获取token则需要客户端认证,将客户端id(也就是公众号的id)和密钥传给微信服务器,获取一个有效期大概一小时的token。这个获取token的认证方式就是客户端认证。如下图所示:
授权码认证access_token
授权码认证是每个业务接口都需要传递token,比如微信公众号发布文章,就用到了这种认证方式,授权码认证由来已久,以前的jsessionid,大概是phpsession,其实都可以算作是授权码认证。不过oauth2有特殊的地方,在于获取用户的资源时,可以获取用户的授权码,比如说微信公众号应用里获取用户的微信头像等信息,就可以获取用户给的授权码,然后用这个授权码获取用户的微信头像等信息。如图:
密码认证grant_type=password
密码认证在微信公众号里没有对应的接口,但是我们一样平常用spring security开辟的应用中常常用到,就是用户在服务器端密码登录,用的就是这个,然后spring security会返回用户的信息,比如以下就是一个密码认证的例子:
革新token认证
记住密码是不安全的,我的wegame没有勾选记住密码,却勾选了自动登录,这是怎么实现的呢?就是客户端记住了refresh_token。以微信公众号为例,也有这个接口:
其他认证
OAuth2还支持其他认证,如果是spring security,只有多设置几种grant_type就可以了,比如说增长SMS(短信认证)类型,指纹认证、人脸认证,这些认证方式其实和密码认证差不多。短信认证可以当作是动态密码,指纹于人脸可以看做另一种情势的密码。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
嚴華
金牌会员
这个人很懒什么都没写!
楼主热帖
【万能皆可链接】C++中的动态链接库编 ...
iOS全埋点解决方案-用户标识 ...
用uniapp实现微信小程序的电子签名效果 ...
MySQL实战45讲 20
Qt-FFmpeg开发-打开本地摄像头(6) ...
【云服务器】推荐阿贝云服务器,目前永 ...
【Selenium+Pytest+allure报告生成自动 ...
【Javaweb】Web工作原理、两种网页、两 ...
Spring Boot 配置文件
微服务介绍
标签云
挺好的
服务器
快速回复
返回顶部
返回列表