问题标签 [google-auth-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
34 浏览

google-api-nodejs-client - 如何在多工作人员环境中获取和使用访问令牌?

使用存储的刷新令牌运行分布式工作人员池,每个工作人员执行以下操作:

  1. 使用 refresh_token='XXXX' & access_token=''调用setCredentials 。
  2. 调用getAccessToken
  3. 使用标头构造自定义 HTTP get 调用。

调用getAccessToken将返回单个令牌。如果我们调用超过 60 个并行工作人员,我们会过期旧的访问令牌(限制为 50)?因此,我们需要存储访问令牌和该令牌的到期时间,以供其他工作人员使用。逻辑是:

  1. 使用 access_token=[上次从 DB 刷新的时间]调用setCredentials 。
  2. 检查数据库中的访问令牌过期。
  3. 如果过期,请使用 refresh_token='XXXX'调用getAccessToken 。
  4. 将新的访问令牌和过期时间保存到数据库以供其他工作人员使用。
  5. 使用标头构造自定义 HTTP get 调用。

我是否遗漏了一个假设,或者有没有办法让凭据回调或过期连接,以便调用 getAccessToken 返回两个值?

0 投票
0 回答
242 浏览

google-api - Google Search Console API:如何解决“用户没有足够的站点权限”?(当用户有权限时)

我正在尝试通过他们的 Node 包使用 Google 的 Search Console API,我的代码如下所示:

...除了在我的版本example.com中已替换为我的实际域。

我在命令行调用它:

我创建了一个服务帐户,服务密钥 JSON 文件来自它。该服务帐户有权访问我的 Search Console 帐户。当我查看https://search.google.com/search-console/users时,我看到了那里的服务用户,并且在“权限”列中它具有“完整”。

谁能帮我理解为什么我在运行代码时会出现以下错误?

提到的 URL https://support.google.com/webmasters/answer/2451999只是将我链接到搜索控制台用户页面......(再次)表示服务用户具有完全权限。

0 投票
1 回答
58 浏览

python - 我无法让我的烧瓶应用程序通过 google 和可用的 api 进行身份验证

我对编码很陌生,但这几乎没有记录,所以我需要一些帮助。我正在构建一个烧瓶应用程序,但我无法让谷歌身份验证流程正常工作。我正在使用 Pycharm 和 python 3.9 版

我的问题是:我找不到任何解释如何通过身份验证流程的初学者教程。

我不明白如何通过烧瓶与谷歌 API 进行交互。(我想使用 android-management-api)

我确实知道我需要创建一个服务对象,但这仅在我可以验证 google 流程时才有效,这就是我现在已经停留了 5 天的地方。

我已经按照 realpython 和 MattButton 的说明进行操作。尝试这些说明时,我不断收到错误。现在我得到:

有人能解释一下我做错了什么吗

我的代码如下:

0 投票
0 回答
43 浏览

java - 在 Java 中是否有 Python 的 google.auth.credentials.AnonymousCredentials 的替代方案?

我找到了一个用 Python 编写的谷歌存储桶模拟器。我试图在 Java 中模拟相同的行为,但在AnonymousCredentials. 我ImpersonatedCredentials改用。

存储桶初始化如下:

如何在 Java 中模拟与AnonymousCredentialsPython 中提供的相同行为?

0 投票
2 回答
420 浏览

iis - 无法加载文件或程序集“Google.Apis.Auth,版本=1.51.0.0,文化=中性,PublicKeyToken=4b01fa6e34db77ab”

我在我们的网站中实现了 Google 身份验证,其中客户端是 Angular,后端是 IIS 上的 .NET C#。我在客户端启动该过程并获得访问令牌。令牌必须转发到基于 .NET 的后端。在后端,我将 Google.Apis.Auth 1.51.0 库称为 NuGet 包。我使用那里的工具验证令牌。在 Visual Studio 调试模式下从源代码测试时,它可以完美运行,但在我发布版本后无法在 IIS 下运行。

错误消息是:“无法加载文件或程序集 'Google.Apis.Auth, Version=1.51.0.0, Culture=neutral, PublicKeyToken=4b01fa6e34db77ab'。”

我检查了依赖项,它们位于具有正确版本的本地文件夹中。(Google.Apis.dll、Google.Apis.Core.dll、Google.Apis.Auth.dll、Google.Apis.Auth.PlatformServices.dll 和 Newtonsoft.Json.dll)一般的解决方案是使用 bindingRedirect。我尝试在web.config中将0.0.0.0-1.51.0.0范围设置为新版本1.51.0.0,但是没有效果。像这样:

我尝试使用 Google.Apis、Google.Apis.Core 和 Google.Apis.Auth.PlatformServices 执行此操作,但没有成功。我在配置标签中没有命名空间。我在有和没有 publicKeyToken 的情况下都试过了。

我想问一下你有没有遇到过这个问题?你知道该怎么做吗?我非常感谢您的帮助。

0 投票
1 回答
1363 浏览

javascript - 使用 Typescript 和 Promise 语法的 Node.js 的 Google Auth

我正在尝试使用本教程实现谷歌身份验证:https ://blog.prototypr.io/how-to-build-google-login-into-a-react-app-and-node-express-api-821d049ee670

但是使用 Typescript 和 Promise 语法(这些是要求),我收到了这个错误: 在此处输入图像描述

这是代码:

};

0 投票
2 回答
210 浏览

node.js - 谷歌 idToken 刷新

google-auth-library根据Google ,我正在使用 Node包在我的 API 服务器上验证 idToken :

因为idToken一小时到期,让用户按小时登录会很麻烦。我已经搜索了文档,类OAuth2Client没有. 如何刷新过期的 idToken()?refreshAccessToken()refreshIdToken()

请注意,我使用的唯一 Google API 是身份验证。

0 投票
0 回答
159 浏览

javascript - 谷歌身份验证:popup_blocked_by_browser

我的 Web 应用程序是用纯 JS 编写的,并带有一点 JQuery。没有其他底层平台。我正在使用 Google Auth 登录我的网络应用程序。这是相关代码:

这工作得很好,但在某些情况下 - 尝试使用 Google 登录(#login_google在移动设备上单击按钮 - 会带来以下错误:

我正在阅读有关此错误的一些信息,并且我上面的代码相应地对齐了。仍然 - 这个问题在这里和那里发生。

我想念什么?

谢谢

0 投票
0 回答
17 浏览

python - Google Authlib:一个 Flask 应用程序,具有 2 组或更多组适用于不同受众的范围

我有一个已被学生和教师使用的 Flask 应用程序,并请求大量访问 Google 资源(Google 课堂、电子邮件等)。我现在想允许父母登录,但范围不同。关于如何做到这一点的任何建议?

这是我的应用程序中的授权功能,它加载现有范围供用户批准

0 投票
2 回答
429 浏览

python - google.cloud.bigquery.Client() 忽略提供的范围,导致在获取驱动器凭据时权限被拒绝

我正在尝试通过 google.cloud.bigquery Python 库查询存储在云端硬盘中的数据。

我已按照 Google 的Querying Drive Data指南进行操作。因此,我的代码如下所示:

问题是:凭证对象和 bigquery 客户端忽略提供的范围,导致google.api_core.exceptions.Forbidden: 403 Access Denied: BigQuery BigQuery: Permission denied while getting Drive credentials.澄清,凭证和客户端都不包括提供的驱动器范围。

我该怎么做才能将驱动器范围正确传递给我的 bigquery 客户端?

我的本地环境的应用程序默认凭据是我的授权用户,即项目的所有者。