谷歌的 oauth2 范围有深入研究吗?

2024-04-12

我正在寻找有关 google 使用 oauth 范围的一些深入的详细信息

我的云端硬盘应用程序is工作,所以我可以简单地使用范围。但是我有以下详细问题/问题..

  1. 我指定了两次范围。一旦进入我的应用程序,然后也进入 API 安慰。这两个范围分别有何意义 声明?
  2. 如果我删除范围,我的用户必须重新授权我的应用程序,还是这样 仅需要添加额外的范围?
  3. 如果 2 的答案是“我无法默默地删除范围”,那么 Google 库可以优雅地重新授权用户,或者 我会得到 403 失败吗?我读了应用程序应如何向现有拨款添加/删除范围? https://stackoverflow.com/questions/15540360/how-should-an-application-add-remove-scopes-to-an-existing-grant但接受的答案特别提到adding范围,而我的问题是关于删除范围。
  4. 我的应用程序中的不同模块可以请求不同的范围吗 API 控制台中指定的超集?解释一下,我的应用程序有 3 组件:访问 Drive 的 chrome 扩展、使用的 Web 客户端 JS 访问 Drive 和 YouTube(在线模式)和服务器 访问驱动器的组件(在离线模式下)..
  5. 我的应用程序可以吗?询问它已被授予哪些范围?

一个普遍的问题,我确信我和许多应用程序作者一样面临着同样的困境。如果我增加功能(这是一件好事,因为它吸引了用户),我还需要增加用户在我的应用程序中放置的权限/信任(这是一件坏事,因为它会排斥用户)。对于应用程序应如何最好地处理这种利益冲突,是否有任何建议?


客户端代码中的范围列表- 这是用户授权您的应用程序执行的操作

当您请求用户授权时,您需要指定您希望用户同意的内容。这就是范围列表的用途 - 它控制用户在授权您的应用程序时看到的文本,并且该授权授予的刷新/访问令牌仅限于进行这些范围允许的 API 调用。

API 控制台中启用的服务列表- 这是您的应用程序授权用户执行的操作

据我所知,API 控制台中没有指定范围列表。不过,有一个可以启用的 Google 服务列表。这里启用/禁用服务更多的是关于打开/关闭进行 API 调用以及管理配额和/或接受与该 API 相关的服务条款的能力,而不是授权。

当进行 API 调用时- 您发送访问令牌

访问令牌封装了发出请求的用户、用户授权给您的范围以及用于授权的客户端 ID(又属于您的项目)。此时,您需要在项目上启用 API 调用发送到的服务,以及 API 请求的正确范围 - 否则您将收到 403。

当您的所需范围列表发生变化时- 您应该预期用户需要重新授权

当您请求访问令牌(通常通过发送刷新令牌)时,您需要做好该请求不会成功的准备。也许是因为您添加了范围 - 但也许用户选择了访问https://accounts.google.com/IssuedAuthSubTokens https://accounts.google.com/IssuedAuthSubTokens并已撤销您的应用程序访问权限。我不确定如果您请求的范围少于用户最初授予的范围是否会触发此问题,我会尝试进行测试 - 但要点是,无论您的代码都需要能够处理这种情况。我相信 OAuth2DecoratorFromClientSecrets (来自链接的问题)将为您优雅地处理这个问题,但我不确定 - 它应该很容易验证。

跨多个客户端使用相同的授权- 建议阅读本文档,看看它是否涵盖了您的所有场景:https://developers.google.com/accounts/docs/CrossClientAuth https://developers.google.com/accounts/docs/CrossClientAuth

查看授予访问令牌的范围- 使用 OAuth2 API:https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=yaxxxxxxxxxxxxxxx https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=yaxxxxxxxxxxxxxxx

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

谷歌的 oauth2 范围有深入研究吗? 的相关文章

  • NGINX 添加两个变量/参数编号

    我正在尝试设置一个 Nginx 我想在其中将两个数字相加 server server name pr d review apps example com location set port 50000 1 proxy pass http l

随机推荐

  • 奇怪的旋转器。如何修复它?

    这是我填充微调器的代码 它看起来很奇怪而且丑陋 Override protected void onPostExecute final List
  • 忽略 ggplot2 geom_violin 中的异常值

    有没有办法忽略异常值geom violiny 轴图是否与 Q1 和 Q3 分位数相关 range 1 5以 R 为基数 如果这可以自动化 即不只是调用特定的 y 轴限制 那就太好了 我在这里看到使用 geom boxplot 的解决方案 忽
  • 在 GDI+ 中调整大小时出现幽灵边框(“响铃”)

    发生的情况 仅在某些图像上明显 是我会看到一个 1 像素白色边框 该边框插入一个像素 它似乎发生在明亮但不白色的区域 例如天空 这类似于某些东西过度锐化并且在高对比度边缘旁边可以看到重影边界 这是完美重现它的重现代码 我正在使用所有最高质量
  • 设置日期选择器的默认日期格式?

    我有一个页面可以跟踪各种日期 所以我最终通过 jquery 使用 datepicker 10 200 次 我想将日期选择器的所有情况的默认设置为 yy mm dd 但我似乎不知道如何设置 我最终通过 jquery 使用 datepicker
  • 从 .txt C 读取

    我在C语言方面遇到了一些麻烦 我有一个 txt 文件 其中包含以下形式的各行 F 65 S 4 1 139 56 3704 26 和我的程序 p fopen dados txt r if p NULL printf n nNao foi p
  • 保存EditText并自动检索

    您好 我正在尝试将 EditText 小部件值保存在手机 平板电脑的内部存储器中 以便应用程序关闭或活动停止时可以自动检索它们 所有这些都可以使用保存按钮进行 小部件的值由用户输入 您应该使用共享首选项 共享首选项用于将数据存储在本地应用程
  • 以非 root 用户身份使用 libusb-1.0 访问 USB 设备

    我正在尝试以 RHEL5 上的非 root 用户身份连接 USB 设备 该设备是一个 GPIO 接口 其文档可以在http www xdimax com sub20 sub20 html http www xdimax com sub20
  • Rails c 无法在 Rails 5 中工作

    关于在 Rails 5 应用程序内的终端中使用命令 rails c 抛出的错误如下所示 我不知道这在类似问题中意味着什么 解决方案是使用弹簧停止 我也尝试过 但没有 它仍然给出相同的错误 如果有人能指出这里的错误 那就太好了 Running
  • Hibernate:如何按id升序选择最后N行? (在单个查询中)

    休眠版本 5 2 我正在尝试使用子查询来做 并使用setMaxResults int session createQuery FROM SELECT FROM tickets ORDER BY id DESC limit 3 sub ORD
  • html5 canvas 游戏 - 如何添加视网膜支持

    我正在为 iPhone 创建 HTML5 画布游戏 我想支持视网膜和非视网膜显示器 我的问题是 如何同时支持视网膜和非视网膜显示器 即 执行此操作的一般实现是什么 我是否使用 iPhone 尺寸编写游戏 然后添加视网膜支持 或者我是否创建游
  • Dynamodb - 更新对象数组中 JSON 对象的值

    以下是存储在 DynamoDb 中的示例项目对象 记录 我使用 NodeJS 和AWS DynamoDB DocumentClient访问数据库 我正在构建一个 PUT 函数来更新数组中 JSON 对象的状态 该函数将有权访问该项目的uui
  • 在 Apache 中使用 mod_rewrite 处理中文字符

    我无法找到有关使用中文字符的 Apache mod rewriting 的信息 我能找到的所有信息都与数字有关 我想重写 character php character 宠 其中字符是搜索结果 因此会有所不同 character 宠 这是我
  • 共享主机帐户中的 php.ini 配置更改

    我尝试使用 htaccess ini set 覆盖默认的 php ini 配置 但在执行脚本时配置没有得到反映 这里 PHP 安装为 fastcgi 并位于共享托管帐户中 有什么方法可以更改 php ini 设置 或者我需要将我的帐户升级到
  • Rails 2.3:如何将此 SQL 语句转换为named_scope

    弄清楚如何从这个 SQL 查询创建一个named scope 有点困难 select from foo where id NOT IN select foo id from bar AND foo category ORDER BY RAN
  • mysql如何连接两个表?

    我有两张桌子 services id client service and clients id name email 如何列出餐桌服务并汇总顾客餐桌上的顾客姓名 表中的客户服务字段有客户表中客户的id 我很感谢你现在的帮助 SELECT
  • 是否可以从maven编译grunt项目?

    我正在尝试从 Maven 中执行 grunt 任务 而不需要安装 Node js 或任何东西 这是因为我不希望 Jenkins 打包我的工件 并且我无法在那台机器上安装 Node js 我知道使用 npm 和一些命令就可以让它工作很容易 但
  • 如何使用 Java 将 JMS 消息排入 Oracle AQ 中

    我有一个队列类型为 SYS AQ JMS TEXT MESSAGE 的 Oracle AQ 我想做的是将文本从 java 应用程序插入到提到的队列中 等效的 SQL 查询是 declare r enqueue options DBMS AQ
  • Cytoscape.js 的性能和布局

    我正在测试 Cytoscape js 的渲染性能 我的图表包含大约 5000 个节点和 5000 个边 没有 x y 位置 使用 Cytoscape js 的自动布局 但欧拉布局扩展在渲染完所有节点和边后需要花费超过15秒的时间 在下次操作
  • Google Plus 登录集成错误 iOS

    您好 我正在尝试在我的 iOS 应用程序上集成 google 登录 我已按照此说明进行操作link https developers google com mobile ios getting started 这些示例工作正常 但是当我尝试
  • 谷歌的 oauth2 范围有深入研究吗?

    我正在寻找有关 google 使用 oauth 范围的一些深入的详细信息 我的云端硬盘应用程序is工作 所以我可以简单地使用范围 但是我有以下详细问题 问题 我指定了两次范围 一旦进入我的应用程序 然后也进入 API 安慰 这两个范围分别有