为什么访问令牌会过期?

2023-11-22

我刚刚开始使用 Google API 和 OAuth2。当客户端授权我的应用程序时,我会获得一个“刷新令牌”和一个短暂的“访问令牌”。现在,每次访问令牌过期时,我都可以将刷新令牌发布给 Google,他们会给我一个新的访问令牌。

我的问题是访问令牌过期的目的是什么?为什么不能用持久的访问令牌来代替刷新令牌?

另外,刷新令牌会过期吗?

See 使用 OAuth 2.0 访问 Google API有关 Google OAuth2 工作流程的更多信息。


这在很大程度上是特定于实现的,但总体思路是允许提供商使用长期刷新令牌来颁发短期访问令牌。为什么?

  • 许多提供商支持不记名令牌,但安全性非常薄弱。通过使它们的生命周期较短并需要刷新,它们限制了攻击者滥用被盗令牌的时间。
  • 大规模部署不希望每次 API 调用都执行数据库查找,因此它们会发出可通过解密进行验证的自编码访问令牌。然而,这也意味着无法撤销这些代币,因此它们的发行时间很短,必须刷新。
  • 刷新令牌需要客户端身份验证,这使其更强大。与上述访问令牌不同,它通常通过数据库查找来实现。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么访问令牌会过期? 的相关文章

随机推荐

  • 在同一服务器上运行多个 Django Celery 网站

    我使用 apache2 虚拟服务器在同一服务器上运行多个 Django apache wsgi 网站 我想使用 celery 但是如果我为多个网站启动 celeryd 所有网站都将使用我启动的最后一个 celeryd 实例的配置 日志 数据
  • 为什么引发 NSException 不会导致我的应用程序崩溃?

    问题 我正在编写一个 Cocoa 应用程序 我想引发异常 从而导致应用程序崩溃 我的应用程序委托中有以下几行 NSException raise NSInternalInconsistencyException format This sh
  • Google 翻译 API v2 - (403) 访问未配置

    我在通过 Google 控制台 API 使用 Google 翻译时遇到问题 当我从本地计算机运行测试时 它运行得很好 但是当我尝试在远程测试虚拟服务器上运行它时 它返回上面的 403 我在控制台 API 访问中通过服务器密钥使用简单 API
  • prolog,在元组列表中查找列表元素

    我正在尝试用 Prolog 解决一个新程序 但我被卡住了 不知道如何继续 我必须做一个有 3 个参数的谓词 第一个是元素列表 第二个是元素列表是元组列表 如果元组的第一个元素与第一个参数列表的元素匹配 则第三个必须是返回的包含元组的第二个元
  • __scrt_common_main_seh 是什么/在哪里?

    我的程序中的第三方库正在尝试调用 scrt common main seh通过微软库msvcrt lib 但由某些未知库定义 因此会出现链接器错误 我不知道这个函数应该做什么或者它是在哪里定义的 我在网上查找了这个函数 但除了链接器错误的一
  • 突出显示 ggplot2 中感兴趣的区域

    在普通绘图中 可以使用polygon调用panel first论证plot突出显示背景区域 是否可以做同样的事情ggplot2 可以在保留网格线的同时完成吗 eg plot hp and wt for mtcars data highlig
  • JavaFX:循环之间的旋转动画延迟

    我使用以下代码为基于 RotatedTranstion 的 ImageView 创建了动画 ImageView icon ImageCache getImage refresh png RotateTransition rotateTran
  • 订阅 Angular 2 HTML 元素中的可观察对象

    我有一个可观察的生产Users有一个isLoading属性 这样就可以产生预期的结果 user async isLoading 我希望能够使用这个isLoadingHTML 属性中的属性 如下所示
  • 比 <__main__.MyClass 实例位于 0x1624710> 更漂亮的东西

    这是我的课程 尽可能简单 class MyClass def init self id self id id def str self return MyClass d self id 当我打印 MyClass 的对象时 我得到这个漂亮的字
  • 如何使用 javascript 或 jquery 从字符串中提取 html 标签的内容? [复制]

    这个问题在这里已经有答案了 也许这是非常基本的 但我很困惑 我有一个简单的 html 页面 其中包含许多部分 div 我有一个包含 javascript 中的 html 标签的字符串 代码如下
  • 如何在Windows中编写Unix行尾字符?

    如何使用 Python 在 Windows 上 写入文件并使用 Unix 行尾字符 例如做时 f open file txt w f write hello n f close Python自动替换 n with r n 现代方式 使用 n
  • Celery 任务可以在重启后继续存在吗?

    我需要构建一个处理两种类型任务的系统 一种类型可以创建更多其自身或另一种类型的任务 工作人员数量很少 2 3 并且只有一名主机 最重要的要求是系统应该优雅地处理重新启动 即重新启动时 正在进行的任务应该从头开始 并且工作人员应该选择重新启动
  • 在 XAML 中使用矩形形状作为剪辑

    有没有办法可以使用普通的矩形 形状 作为 XAML 中另一个对象的剪辑的一部分 看起来我应该能够做到 但解决方案却让我困惑
  • 在pyspark中读取Excel(.xlsx)文件

    我正在尝试从 PySpark 中的本地路径读取 xlsx 文件 我写了下面的代码 from pyspark shell import sqlContext from pyspark sql import SparkSession spark
  • 无法附加或安装卷:等待条件超时

    我本地集群中的一个 pod 无法启动 因为我得到Unable to attach or mount volumes unmounted volumes nats data volume unattached volumes nats dat
  • GWT 2.1 编辑器框架

    我正在寻找一些有关如何使用的文档或示例GWT 2 1 编辑器框架 谷歌的文档呃 有点缺乏 从有限的可用文档中 我了解到编辑器 理论上 允许您更轻松地将 GUI 元素绑定到数据模型 这将减轻将数据复制到 TextArea ListBox Ch
  • 新升级的声纳不显示项目或用户

    您好 我遇到的问题是从 5 1 2 gt 5 6 gt 6 4 升级后 我相信我遵循了记录的升级路径 该系统在 5 1 2 和 5 6 上运行良好 但现在在 6 4 上 加载第一件事的初始项目页面是空的 上面写着 一旦你分析了一些项目 它们
  • require: 'ngModel' 是什么意思?

    这是我的指令的 HTML
  • 如何在 Chrome 打包应用程序中设置 script-src?

    我正在尝试从复杂的网络应用程序创建 Chrome 打包应用程序 我目前收到错误 拒绝执行内联事件处理程序 因为它违反了 以下内容安全策略指令 default src self chrome extension resource 请注意 sc
  • 为什么访问令牌会过期?

    我刚刚开始使用 Google API 和 OAuth2 当客户端授权我的应用程序时 我会获得一个 刷新令牌 和一个短暂的 访问令牌 现在 每次访问令牌过期时 我都可以将刷新令牌发布给 Google 他们会给我一个新的访问令牌 我的问题是访问