OAuth2.0 - 刷新令牌

2023-11-08

刷新令牌(Refresh Token)

刷新令牌是用于获取访问令牌的凭据。刷新令牌由授权服务器颁发给客户端,用于在当前访问令牌失效或过期时获取新的访问令牌,或者获取具有相同或更窄范围的附加访问令牌(访问令牌可能具有更短的范围)生命周期和少于资源所有者授权的权限)。颁发刷新令牌是可选的,由授权服务器决定。

流程

 +--------+ +---------------+||--(A)------- Authorization Grant --------->| ||| | |||<-(B)----------- Access Token -------------| ||| & Refresh Token | ||| | |||+----------+ | |||--(C)---- Access Token ---->|| | ||||| | |||<-(D)- Protected Resource --| Resource | | Authorization || Client ||Server| | Server|||--(E)---- Access Token ---->|| | ||||| | |||<-(F)- Invalid Token Error -|| | |||+----------+ | ||| | |||--(G)----------- Refresh Token ----------->| ||| | |||<-(H)----------- Access Token -------------| |+--------+ & Optional Refresh Token+---------------+ 

(A) 客户端通过身份验证请求访问令牌授权服务器并提供授权许可。

(B) 授权服务器对客户端进行身份验证并验证授权许可,如果有效,则颁发访问令牌和刷新令牌。

© 客户端向资源发出受保护的资源请求服务器通过提供访问令牌。

(D) 资源服务器验证访问令牌,如果有效,服务于请求。

(E) 重复步骤 © 和 (D),直到访问令牌过期。如果客户端知道访问令牌已过期,它跳到步骤(G);否则,它会发出另一个受保护的资源请求。

(F) 由于访问令牌无效,资源服务器返回无效的令牌错误。

(G) 客户端通过身份验证请求一个新的访问令牌授权服务器并提供刷新令牌。这客户端身份验证要求基于客户端类型并在授权服务器策略上。

请求参数:

参数 参数说明 是否必填 备注
grant_type 授权类型 必填 必须是refresh_token
refresh_token 刷新令牌 必填 该值大小写不敏感
scope 权限范围 可选

因为刷新令牌通常是用于请求额外的访问令牌的持久凭证,刷新令牌绑定到被它被颁发给的客户端。如果通过客户端凭证模式,建议选定其他的身份验证。

请求示例:

POST /token HTTP/1.1
Host: server.example.com
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
Content-Type: application/x-www-form-urlencoded
grant_type=refresh_token
&refresh_token=tGzv3JOkF0XG5Qx2TlKWIA 

(H) 授权服务器对客户端进行认证并验证刷新令牌,如果有效,则发出新的访问令牌(并且,可选地,一个新的刷新令牌)。

响应参数:

参数 参数说明 是否必填 备注
access_token 访问令牌 必填
token_type 令牌类型 必填 该值大小写不敏感
expires_in 过期时间,单位为秒。 可选 如果省略该参数,必须其他方式设置过期时间。
refresh_token 更新令牌 可选 用来获取下一次的访问令牌
scope 权限范围 可选 如果与客户端申请的范围一致,此项可省略。

响应示例:

{ "access_token":"2YotnFZFEjr1zCsicMWpAA", "token_type":"example", "expires_in":3600, "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA", "example_parameter":"example_value"
 } 

说明

建议将access_tokenrefresh_token的过期时间保存下来,每次调用平台方的业务api前先对access_tokenrefresh_token进行一下时间判断,如果过期则执行刷新access_token或重新授权操作。refersh_token如果过期就只能让用户重新授权。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OAuth2.0 - 刷新令牌 的相关文章

  • Linux ls命令

    目录 一 配置项 1 1 ls l 1 2 ls a 1 3 ls lrt 1 4 ls ld 二 案例 2 1 查看指定文件夹下文件的数量
  • 双系统安装win7出现grub怎么解决

    我们在重装系统时 特别苹果装双系统时 会出现安装过程或者安装后的问题 发现系统开机显示grub 导致不能正常进入系统 让人很是着急 其实出现这种情况是因为系统找不到主引记录所导致 只要重建主引记录mbr即可解决 下面小编就教教大家win7系
  • 在阿里云ECS云服务器上部署和使用开源的应用程序容器引擎Docker

    Docker 是一个开源的应用程序容器引擎 具有可移植性 可扩展性 高安全性和可管理性等优势 它允许开发人员将应用程序和依赖项打包到可移植容器中 从而在 Linux 机器上高效构建 部署和管理应用程序 阿里云提供Docker镜像仓库 用于快
  • TeslaMate特斯拉神器本地Docker部署实现无公网远程访问

    文章目录 1 Docker部署TeslaMate 2 本地访问TeslaMate 3 Linux安装Cpolar 4 配置TeslaMate公网地址 5 远程访问TeslaMate 6 固定TeslaMate公网地址
  • pandas用法整理

    处理表格数据的时候经常用到pandas 每次用的时候都要去查函数 每次记不住 每次都查 哈哈哈 自己整理一下 码住 一 Pandas的数据类型 进行数据分析时 如何正确使用数据类型 这非常重要 在pandas中的数据类型和python原生数
  • 6类典型场景的无线AP选型和部署方案

    你们好 我的网工朋友 前段时间刚给你们来了篇解决无线频繁断网的技术文 解决无线频繁断网 这个办法值得收藏 不少朋友私聊 说想再聊聊无线AP的选型和部署方案 这不就安排上了 无线网络覆盖项目中 无线AP的合理选型和部署非常重要 在设计施工中
  • DreadHunger恐惧饥荒海上狼人杀服务器搭建架设教程windows系统

    DreadHunger 恐惧饥荒海上狼人杀服务器搭建架设教程windows系统 大家好我是艾西 在11月底我有发文 DreadHunger 恐惧饥荒海上狼人杀官方停服的消息 当时在官方的公告模版中公布了在2024年一月一日会将服务端公开让喜
  • Linux中如何查看开启了哪些端口?

    在Linux中 端口是设备与外界通讯交流的出口 常用于指TCP IP协议中的端口 其按照端口号可以分为三类 分别是 公认端口 注册端口 动态端口 那么Linux中如何查看开启了哪些端口 以下是常用命令介绍 1 使用netstat命令 net
  • Linux 系统日志及其归档

    主要记录Linux 系统需要关注的日志文件 以及日志归档服务 rsyslogd 系统日志服务 rsyslogd 日志服务 rsyslogd reliable and extended syslogd 可靠 可扩展的系统日志服务 Rsyslo
  • CTF之逆向入门

    逆向工程 Reverse Engineering 又称反向工程 是一种技术过程 即对一项目标产品进行逆向分析及研究 从而演绎并得出该产品的处理流程 组织结构 功能性能规格等设计要素 以制作出功能相近 但又不完全一样的产品 逆向工程源于商业及
  • nohup - 后台执行

    nohup no hang up 语法 nohup Command Arg 使用示例 nohup python a py 日志将被保留在 当前文件夹下的 nohup out 将日志放到文件 不输出到终端 echo hello gt 1 tx
  • 如何利用CHAT做简单的总结体会?

    问CHAT 在测试过程中使用appium python自动化的优点和体会 CHAT回复 使用 Appium 配合 Python 进行自动化测试主要有以下几点优点 1 跨平台性 Appium 支持 iOS 和 Android 平台的应用自动化
  • SRC漏洞挖掘经验+技巧篇

    一 漏洞挖掘的前期 信息收集 虽然是前期 但是却是我认为最重要的一部分 很多人挖洞的时候说不知道如何入手 其实挖洞就是信息收集 常规owasp top 10 逻辑漏洞 重要的可能就是思路猥琐一点 这些漏洞的测试方法本身不是特别复杂 一般混迹
  • Linux终端常见用法总结

    熟悉Linux终端的基础用法和常见技巧可以极大提高运维及开发人员的工作效率 笔者结合自身学习实践 总结以下终端用法供同行交流学习 常 见 用 法 1 快捷键 1 1 Alt 在光标位置插入上一次执行命令的最后一个参数 1 2 Ctrl R
  • Python自动化操作:简单、有趣、高效!解放你的工作流程!

    今天跟大家分享一套自动化操作流程解决方案 基于 Python语言 涉及 pyautogui pyperclip pythoncom win32com 依赖包 安装命令为 pip install pyautogui pip install p
  • Kubernetes (十三) 存储——持久卷-动静态分配

    一 简介 二 NFS持久化存储步骤 静态分配 1 集群外主机用上次nfsdata共享目录中创建用来测试的pv 1 3 目录 用来对三个静态pv 2 创建pv的应用文件 vim pv yaml apiVersion v1 kind Persi
  • 服务器VPS是什么意思?一文了解其含义与重要性

    在今天的数字时代 服务器扮演着至关重要的角色 它们是网站 应用程序和在线业务的基石 但是 你是否听说过VPS 本文将深入探讨什么是服务器VPS 以及为什么它在今天的互联网世界中如此重要 什么是服务器VPS 服务器的基本概念 在我们深入探讨V
  • 短信系统搭建主要因素|网页短信平台开发源码

    短信系统搭建主要因素 网页短信平台开发源码 随着移动互联网的快速发展 短信系统已成为企业和个人进行信息传递的重要工具 建立一个高效可靠的短信系统对于企业来说非常重要 下面我们将介绍一些影响短信系统搭建的主要因素 1 平台选择 在搭建短信系统
  • 【安全】简单解析统一身份认证:介绍、原理和实现方法

    深入解析统一身份认证 介绍 原理和实现方法 导语 统一身份认证是什么 统一身份认证的原理 统一身份认证的实现 结语 导语 随着互联网的发展和各种在线服务的普及 用户在不同的应用和平台上需要进行多次身份验证 为了简化用户的登录和减少重复操作
  • 2023下半年软考「单独划线」合格标准公布

    中国计算机技术职业资格网发布了 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告 2023下半年软考单独划线地区合格标准各科目均为42分 01 官方通告 关于2023年度下半年计算机软件资格考试单独划线地区合格标准的通告

随机推荐

  • 使用albumentations库进行数据增强

    需要注意增强之后以字典键值的形式调用输出 且可以保证img gt的随机增强是一一对应一致的 import albumentations as albu tfrd albu Compose albu HorizontalFlip p 0 5
  • 关于SpringBoot中pom.xml中<plugin>报错

    报错部分代码
  • PTAWindows消息队列c++版——山东科技大学

    题目 消息队列是Windows系统的基础 对于每个进程 系统维护一个消息队列 如果在进程中有特定事件发生 如点击鼠标 文字改变等 系统将把这个消息加到队列当中 同时 如果队列不是空的 这一进程循环地从队列中按照优先级获取消息 请注意优先级值
  • [Tools] SecureCRT文件传输模式介绍

    如下图所示 SecureCRT有5种文件传输模式 1 ASCII 最快的传输模式 但只能传文本 2 Binary 只能传二进制文件 3 Xmodem 非常古老的传输协议速度较慢 但由于使用了CRC错误侦测方法 传输的准确率可高达99 6 4
  • PAT 1103 Integer Factorization

    题目的意思是给定n k p 求是否存在k个正整数 每个数的p次幂相加的结果等于n 有 输出k个数相加的结果最大的那个 如果有多个 输出序列从大到小排最大的那个 从左往右比较 若 i lt l a i
  • 查看端口占用情况(Windows环境)

    查看端口占用情况 1 打开命令窗口 以管理员身份运行 2 查询所有端口的占用情况 3 查看指定端口的占用情况 4 查看是哪个进程或者程序占用了相应的端口 5 解决端口占用问题 1 打开命令窗口 以管理员身份运行 window R组合键 输入
  • C++——RAII机制

    文章目录 我们知道 资源的使用一般经历三个步骤 a 获取资源 b 使用资源 c 销毁资源 资源的销毁往往是程序员经常忘记的一个环节 忘记销毁资源可能会造成内存泄露 怎么解决呢 RAII RAII Resource Acquisition I
  • Nginx配置错误

    漏洞概述 PHPUnit 是 PHP 程式语言中最常见的单元测试 unit testing 框架 通常phpunit使用composer非常流行的PHP依赖管理器进行部署 将会在当前目录创建一个vendor文件夹 phpunit生产环境中仍
  • Django 模型(model)

    目录 前言 一 Django ORM 什么是ORM ORM 解析过程 ORM 对应关系表 二 数据库配置 Django 如何使用 mysql 数据库 三 定义模型 创建 APP 四 定义模型类 数据库表名 关于主键 属性命名限制 字段类型
  • 二、【React拓展】懒加载 lazy

    文章目录 1 适用点 2 汇总 1 适用点 懒加载往往配合路由一起使用 此处修改的项目是 二 React Router5 路由的基本使用 中的项目 首先从react中引入lazy import lazy from react 修改引入路由组
  • 【Windows API】获取卷标、卷名

    1 卷 gt 卷标 使用FindFirstVolume 和FindNextVolume 函数体系 枚举系统所有卷 Volume 的例子 然后获取卷标 卷类型 这个方式可以枚举出没有驱动器号 卷标 的卷 int TestMode1 HANDL
  • 国信证券笔试题总分120分

    国信证券笔试题总分120分 1 选择题60分 20题 单选 10 每题3分 多选 10 每题3分 2 业务题 每题4分总共20分 2 1 post get请求区别 后退按钮 刷新 无害 数据会被重新提交 浏览器应该告知用户数据会被重新提交
  • 微软DeepSpeed Chat震撼发布,一键RLHF训练千亿级大模型

    一键解锁千亿级ChatGPT 轻松省钱15倍 众所周知 由于OpenAI太不Open 开源社区为了让更多人能用上类ChatGPT模型 相继推出了LLaMa Alpaca Vicuna Databricks Dolly等模型 但由于缺乏一个支
  • PostgreSQL数据库性能监控手段之慢SQL、死锁

    之前接触PostgreSQL数据库甚少 此前经常使用mysql db2 直至入职当前某安全公司后 发现数据库都采用PostgreSQL 由于负责性能测试方向 经常需要诊断数据库方面是否存在性能问题 于是整理了PostgreSQL设置慢SQL
  • 接口调用失败,失败原因:在 ServiceModel 客户端配置部分中,找不到引用协定的默认终结点元素

    我的程序中 已经配置了webserivce了 但是无法再开发环境使用 我想拿到测试环境使用 而webservice又只能在开发环境调用 这个时候 为了解决这种尴尬问题 我只能先将就着用开发时的webservice 在我的web config
  • 18款最佳Bug跟踪管理系统

    对于开发者来说 Bug 往往是他们最头疼的问题 有些 Bug 会隐藏的很深 很难发现 甚至用户已经使用了才出现 这样真是赔了名声又折钱 为了让开发者更早地发现和消灭 Bug 本文收集了 18 款最佳的 Bug 处理应用程序 这些系统有收费也
  • 本地文件上传到linux服务器的几种方法

    本文介绍几种常见的方法 把文件上传到Linux服务器中 飓风科技常见有使用 scp命令 xshell软件里的xftp程序 U盘挂载 服务器自带的lrzsz程序 一 scp使用说明 1 把本机的文件传给目的服务器 1scp get66 pca
  • Linux 安装/卸载 Minio

    安装 创建目录 root t2 local mkdir minio root t2 local cd minio root t2 minio mkdir data 下载 root t2 minio wget https dl min io
  • vue + iview项目构建

    vue js官网 iview vue cli PS vue js有著名的全家桶系列 包含了vue router vuex vue resource 再加上构建工具vue cli 就是一个完整的vue项目的核心构成 使用Vue cli是快速构
  • OAuth2.0 - 刷新令牌

    刷新令牌 Refresh Token 刷新令牌是用于获取访问令牌的凭据 刷新令牌由授权服务器颁发给客户端 用于在当前访问令牌失效或过期时获取新的访问令牌 或者获取具有相同或更窄范围的附加访问令牌 访问令牌可能具有更短的范围 生命周期和少于资