错误: invalid_grant ,用于使用刷新令牌获取访问令牌

2023-12-20

经过谷歌搜索后,我们发现 invalid_grant 意味着刷新令牌无效。

链接到 google oauth 文档 https://developers.google.com/identity/protocols/oauth2#expiration

我们没有谷歌提到的任何这些问题。此错误是否与刷新令牌以外的其他内容相关。

更多信息

我们可以读取、写入电子表格和发送 Gmail

我们为每个请求获取访问令牌 任何帮助,将不胜感激。

We're already in production and verified by google enter image description here


没有看到完整的错误消息

Invalid_grant {Message here}

这很难帮助,但根据我的经验,通常是由以下原因之一引起的。

刷新令牌过期,应用程序未投入生产。

刷新令牌可以有多种原因expire https://developers.google.com/identity/protocols/oauth2#expiration目前最常见的一种如下。

一个 Google Cloud Platform 项目,其配置了 OAuth 同意屏幕 外部用户类型和发布状态为“测试”时,将颁发刷新令牌,该令牌将在 7 天后过期。

解决方法是转到同意屏幕上的谷歌开发者控制台并将您的应用程序设置为生产,然后您的刷新令牌将停止过期。

invalid_grant:无效的 JWT

{ “error”: “invalid_grant”, “error_description”: “无效的 JWT:令牌必须是短期令牌(60 分钟)且处于合理的时间范围内。检查您的 iat 和 exp 值,并使用有偏差的时钟来解释系统之间的时钟差异。” }

您的服务器时钟与 NTP 不同步。 (解决方法:检查服务器时间,如果不正确请修复。)

invalid_grant:代码已被兑换

意味着您正在获取已使用的身份验证代码并尝试为其获取另一个访问令牌/刷新令牌。验证码只能使用一次,并且会过期,因此需要尽快使用。

Invalid_grant:错误的请求

通常意味着您用来刷新访问令牌的客户端 ID 和机密。不是用于创建您正在使用的刷新令牌的令牌。

始终存储最近的刷新令牌。

请记住始终存储最新的刷新令牌。单个用户只能拥有 50 个未使用的刷新令牌,最旧的刷新令牌将过期。根据您使用的语言,刷新访问令牌后可能会向您返回新的刷新令牌。此外,如果您多次请求用户同意,那么您将获得不同的刷新令牌。

用户撤销访问权限

如果用户撤销了您在其 Google 帐户中的访问权限,您的刷新令牌将不再有效。

用户在 Gmail 范围内更改了密码。

如果您的刷新令牌是使用 Gmail 范围创建的,并且用户更改了密码。您的刷新令牌将过期。

Links

Oauth2 Rfc 文档中 invalid_grant 错误rfc6749 https://www.rfc-editor.org/rfc/rfc6749.html

无效的授权 提供的授权(例如授权 代码、资源所有者凭据)或刷新令牌是 无效、过期、撤销、与重定向不匹配 授权请求中使用的 URI,或颁发给 另一个客户。

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

错误: invalid_grant ,用于使用刷新令牌获取访问令牌 的相关文章

  • 线程“main”中出现异常 java.lang.UnsatisfiedLinkError: ... \jzmq.dll: 找不到依赖库

    我有一个使用 ZMQ 的 java 应用程序 我已经能够在我的 Win7 PC 上运行它 我将 jzmq dll 放在 jar 可执行文件所在的同一文件夹中 然后通过命令 java jar myapp jar 运行它 我的下一步是将其移至服
  • Sublime Text 2中括号(圆括号)的智能缩进

    我有一个非常好的设置 可以从 sublime text 2 内部编辑和运行 maxscript 我最近想要的一件事是用普通圆括号模拟或复制大括号的行为 EDIT 抱歉 Chrome 决定我在那里完成编辑 而我还没有 如果我输入if x th
  • 通过 R 连接到 Azure SQL

    下面的代码允许我通过 R 连接到 Azure SQL 服务器 但是 我只能访问 主 数据库 而不能访问我在下面创建的两个数据库 表格显示为空白 有什么想法吗 谢谢 library RODBC library dplyr library DB
  • 使用字符串数组在 Hive 表上加载 CSV 文件

    我正在尝试将 CSV 文件插入 Hive 其中一个字段是 string 数组 这是 CSV 文件 48 Snacks that Power Up Weight Loss Aidan B Prince Health Fitness Trave
  • 如何在c#中创建多线程

    我需要监听机器中的所有串行端口 假设我的机器有 4 个串行端口 我必须创建 4 个线程并开始分别使用附加线程监听每个端口 我使用此代码来获取我的机器中的端口数量 private SerialPort comPort new SerialPo
  • 两种模型,一种是 STI,一种是验证

    假设我有两个表 产品和订单 为了简单起见 假设一次只能购买一种产品 因此没有像 order items 这样的连接表 所以关系是Product有很多订单 Order属于product 因此 product id是Order表中的一个fk 产
  • 通过 Ajax 加载内容

    好的 我对 ajax 和从外部加载内容还很陌生 如果您能深入了解我的问题 我将不胜感激 我目前有一个空的隐藏 div 单击链接后应在其中加载 ajax 内容 div div 我目前有一个链接列表 它们都具有相同的类 我希望在单击时 空白 d
  • Windows 更新后 Active 设置为 False 时 TIdHttpServer 冻结

    我们有一个 Indy 版本 10 6 1 5235 TIdHttpServer 服务 多年来一直与 Delphi 2007 配合良好 在最新的 Windows 更新 KB4338815 和 KB4338830 之后 我们注意到当 TIdHt
  • PHP Session Id 在页面之间发生变化

    我有一个问题 我在 2 个页面之间丢失了 PHP 会话 session start 包含在一个名为 session inc php 的文件中 该文件包含在每个需要设置会话的页面中 这适用于网站上除一个特定页面 member profile
  • JavaScript 开关(真)

    你好 我正在尝试处理 ajax json 响应 这是我的代码 success function j switch true case j choice1 alert choice2 break case j choice2 alert ch
  • 如何在 LLVM 中实现字符串数据类型?

    我一直在看LLVM http llvm org 最近 我发现它是一个非常有趣的架构 然而 浏览教程和参考材料 我看不到任何关于如何实现的示例string http en wikipedia org wiki String computer
  • 使用 CodeDOM 将程序集添加到 BuildManager 会导致间歇性错误

    我正在使用 CodeDOM 在运行时创建内存中程序集 如下所示 public Assembly Compile CodeCompileUnit targetUnit string path Path GetDirectoryName new
  • 表单帖子上的 asp.net mvc 编码

    我在我的 asp net mvc 表单 带有文本区域的 nicedit 中使用富文本编辑器 当我在帖子上提交表单时 因为它不是 html 编码的 我收到以下消息 从客户端检测到潜在危险的 Request Form 值 如何对 post 上的
  • 将自定义属性添加到 Tk 小部件

    我的主要目标是向小部件添加隐藏标签或字符串之类的内容 以在其上保存简短信息 我想到创建一个新的自定义 Button 类 在本例中我需要按钮 它继承所有旧选项 这是代码 form tkinter import class NButton Bu
  • 在windows + opengl中选择图形设备

    我知道如何使用 openGL 打开窗口 使用 Win32 或其他工具包 但是当系统有2块显卡时 如何选择要渲染的图形设备 我的编程语言是 C 我专注于 Windows 但任何示例都将受到欢迎 编辑 也许更好地解释我的问题是个好主意 以便添加
  • 实体框架代码首次日期字段创建

    我正在使用实体框架代码优先方法来创建我的数据库表 下面的代码 创建一个DATETIME数据库中的列 但我想创建一个DATE柱子 DataType DataType Date DisplayFormatAttribute ApplyForma
  • 将一个 IEnumerable 拆分为多个 IEnumerable

    我是 linq 新手 我需要根据指示器将 Couple string text bool Indicator 类型的 IEnumerable 拆分为多个 IEnumerable 我尝试使用skipWhile 和 TakeWhile 但没有找
  • Fancybox修改。如何修改 fancybox 以停止在每个画廊的最后一项? (画廊 1 画廊 2 等)[重复]

    这个问题在这里已经有答案了 我正在为我的照片库使用 fancybox 插件 我有多个包含更多项目 照片 的画廊 我想知道如何在点击每个画廊的最后一个项目时停止幻灯片放映 我的 fancybox js 没有被修改 谢谢 您需要添加该选项loo
  • perfmon 性能计数器是否基于与 xperf 使用的 ETW 事件“幕后”相同的东西?

    我最近开始熟悉 perfmon 和 xperf Perfmon 使用性能计数器 xperf 使用 ETW Windows 事件跟踪 Perfmon 具有提供数据的对象 而 xperf 使用 提供者 组 作为这个领域的新手 我想问是否有人可以
  • 安卓框架?

    是否有任何框架比构建 Android 应用程序更容易 您会对其中一个感兴趣吗 很快就会有 我正在开发 DroidFu 一个 Android 共享库 它将为您提供 活动 和服务 中直接提供大量实用功能 例如生成列表和错误对话框 检查 Inte

随机推荐