OAuth2的四种认证方式

news2024/9/21 12:24:12

文章目录

  • 客户端认证grant_type=client_credential
  • 授权码认证access_token
  • 密码认证grant_type=password
  • 刷新token认证
  • 其他认证

  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(短信认证)类型,指纹认证、人脸认证,这些认证方式其实和密码认证差不多。短信认证可以看成是动态密码,指纹于人脸可以看做另一种形式的密码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1965857.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot项目打包成war包

1. 项目场景 使用SpringBoot 开发项目,由于内置了Tomcat,所以项目可以直接启动,部署到服务器的时候,直接打成 jar 包,就可以运行了。 有时需要把项目打包放入外置的 Tomcat 或者 TongWeb 中运行,就需要把…

【Golang 面试 - 进阶题】每日 3 题(九)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…

搞懂收发模式(Transmit、Receive、IT、DMA、ToIdle、Abort、Callback)

搞懂收发模式(Transmit、Receive、IT、DMA、ToIdle、Abort) 文章目录 搞懂收发模式(Transmit、Receive、IT、DMA、ToIdle、Abort)1、阻塞模式(阻塞轮询)2、非阻塞模式( IT )3、直接内…

D盘根目录莫名出现 *.scratch 文件夹

不知道从什么时候开始,突然发现D盘根目录出现奇怪的空文件夹(图一),一开始因为需求紧张没时间管,但是没几天就发现这个空文件夹越来越多,多到上百个了。 要是几个那还能忍忍,这种程度已经严重影…

IDEA优化配置,提高启动和运行速度

一、修改配置参数 IDEA默认启动配置主要考虑低配置用户,参数不高,导致 启动慢,然后运行也不流畅,这里我们需要优化下启动和运行配置; 找到idea安装的bin目录; 你的按照目录\IntelliJ IDEA 2018.2.2\bin …

客户现场电脑卡死

最近遇到一个很奇怪的现象,客户现场机台运行过程中,出现不规律的卡顿或假死蓝屏情况,软件分析显得异常重要. 首先我们从软件的运行状态,内存,cpu利用率等性能方面排查,通过观察,我们发现内存没有暴涨的情况,cpu利用率也不是很高,表现的现象就是不定时的出现软件假死,卡顿现象.…

SQL插入、更新和删除数据

SQL插入、更新和删除数据 一、直接向表插入数据 1.1、插入完整的行 这里所说的完整行指的是包含表内所有字段的数据行;假设表中有n个字段,则插入完整行的语法: INSERT INTO 表名或视图名 VALUES(字段1的值,字段2的值,字段3的值,...,字段n的…

JSONP跨域

1 概述 定义 json存在的意义: 不同类型的语言,都能识别json JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题。由于同源策略,一般来说位于 server1.example.com 的网页无法与不是 s…

MCU单片机GPIO初始化该按什么顺序配置?为什么初始化时有电平跳变?

GPIO初始化时有时钟配置、模式配置、输出配置、复用配置,那么在编写初始化代码时,到底该按什么顺序执行呢?如果顺序不当那初始化过程可能会出现短暂的电平跳变。 第一步,初始化MCU外设时,一般都需要先打开对应寄存器的…

Multi-Head Mixture-of-Experts笔记

这篇文章(还是校友),也是和dot product本身没什么关系。讲一讲核心思想 文章在背景中介绍了Sparse Mixture of Experts,因为MH-MoE也是在S-MoE基础上做的,个人感觉其实变动并不大,但我觉得写的很清楚&…

优化 Spring Boot 项目启动速度:高效管理大量 Bean 注入

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119@qq.com] 📱个人微信:15279484656 🌐个人导航网站:www.forff.top 💡座右铭:总有人要赢。为什么不能是我呢? 专栏导…

卷积神经网络 - 卷积运算篇

序言 在探索深度学习尤其是计算机视觉领域的奥秘时,卷积神经网络( Convolutional Neural Networks, CNNs \text{Convolutional Neural Networks, CNNs} Convolutional Neural Networks, CNNs)无疑占据了核心地位。而卷积运算,作为…

书生大模型基础岛-第二关:8G 显存玩转书生大模型 Demo

1.来源 https://github.com/InternLM/Tutorial/blob/camp3/docs/L1/Demo/task.md 2.过程 在 /root/share/pre_envs 中配置好了预置环境 icamp3_demo conda activate /root/share/pre_envs/icamp3_demo创建一个目录,用于存放我们的代码。并创建一个 cli_demo.py …

【JVM基础09】——垃圾回收-对象什么时候可以被垃圾回收器回收?

目录 1- 引言:垃圾回收1-1 什么是垃圾回收?(What)1-2 为什么要进行垃圾回收?(Why) 2- ⭐核心:对象什么时候可以被垃圾回收器回收?(How)2-1 对象什么时候可以被回收?2-2 引用计数法引用计数法存在的问题&…

误删文件大救星!4款必备数据恢复软件,轻松恢复各类文档照片

在数字化的时代信息就是王道,很多时候丢失了信息就以为着丢失了资源。这时候就需要失易得数据恢复这样的数据恢复工具来帮我们守护信息的安全。 1.福昕数据恢复 https://www.pdf365.cn/foxit-restore/链接直达:https://www.pdf365.cn/foxit-restore/ …

设计模式-创建型模式-单例设计模式

创建型模式提供创建对象的机制,能够提升已有代码的灵活性和复用性; 常用的有:单例模式、工厂模式、建造设模式;不常用的:原型模式; 1.概述 单例模式是最简单的模式之一,其保证了某个类在运行期…

Ubuntu22 下 Docker 安装,VS Code Docker配置

1. Docker 安装 1. 卸载旧版本的 Docker(如果有): sudo apt-get remove docker docker-engine docker.io containerd runc 2. 更新软件包: sudo apt-get update sudo apt-get upgrade 3. 安装 Docker 依赖: sudo apt-…

苹果手机通讯录恢复教程?3招速成指南

随着科技的不断进步,手机丢失、系统崩溃等意外情况也时有发生,一旦这些情况发生,我们宝贵的通讯录资料很可能会付诸东流。对此,本文为广大苹果手机用户提供一份简洁明了的通讯录恢复教程,让你轻松掌握苹果手机通讯录恢…

接了一个2000块的小活,大家进来看看值不值,附源码

如题,上周的一天,朋友圈的一个旧友找到了我,说让我帮他开发一个小工具,虽然活不大,但没个几年的全栈经验还不一定能接下来,因为麻雀虽小,涉及的内容可不少: 需求分析 原型设计 详细…

Halcon 边缘提取(像素)

传统提取边缘的方法即通过图像中的明暗进行过滤,其左右就是根据明暗区域找到像素边界。从数学角度,滤波器决定图像剃度,该图像剃度通常作为边缘幅度和边缘方法返回。通过选取所有边缘幅值高的像素点,可以提取区域间的轮廓。另一个…