问题标签 [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.
android - GET_ACCOUNTS 权限和 Google API
我正在使用 Gmail API 从 Android 应用程序发送电子邮件。
阅读GET_ACCOUNTS
许可让我认为不再需要它,但显然,我错了。
我个人使用 Android 8 并且在没有声明权限的情况下一切正常,但是,运行 Android 7 会引发 Google GMS Auth lib 的异常:(我知道,该异常看起来不相关,这是权限问题)
所以我想我仍然需要声明它并要求用户在 Android 7 上授予它,但是在其他哪些 SDK 版本中?
貌似安卓8不需要权限,但是安卓6以下呢?
我查看了所有 Google API 的文档,但没有找到任何相关的内容......
google-api-nodejs-client - 如何使用 Google API getRequestHeaders() 获取 OAuth2 访问令牌?
我正在使用googleapis
npm 库授权使用 OAuth2 访问我的 Gmail 帐户以发送电子邮件。我正在使用以下代码(TypeScript)来做到这一点:
此代码有效,但我收到以下消息:
我在 Google、GitHub 上搜索了该googleapis
模块、在 StackOverflow 上搜索,但我无法找到任何有关该getRequestHeaders
方法构成要素的文档。我试过调用getRequestHeaders
,但它似乎没有返回credentials
带有访问令牌的对象。
是否有官方文档说明getRequestHeaders
在这种情况下应如何使用?
oauth-2.0 - 如何在 Microsoft Word 插件中使用 Google 登录
在下面的链接中建议使用Google Auth Lib
,但github
提供的链接不引用任何 javascript 库:
据我所知,我不能使用它,Code FLow
因为它需要重定向 URL。我应该怎么Access Token
进去Google
?Microsoft Word Add-In
php - 谷歌身份验证显示 HTTP 403 错误被禁止
当我在本地主机上运行脚本时工作正常。但在服务器上显示 403 错误:
在我的谷歌控制台中重定向网址 -
xyz.com/change/googlelogin
在我的浏览器中-使用谷歌身份验证登录后,它向我显示
-xyz.com/change/googlelogin?code=4/sgAnQ7T_O5l7bDPgaMQ4_s-c0Abz_wxsVPIt5bPQdaklIdF0QyoQicTXyW7CUQHh5ScUBZ4GYyyV8cZyiX-mu3s&scope=email%20profile%20https://www.googleapis.com/ profile%20https://www.googleapis.com/auth/userinfo.email 出现上述错误
node.js - 如何通过 NodeJS 将 google-auth-library 与 Google Cloud Storage 一起使用?
我想在 NodeJS中使用Google Cloud Storage ,但使用google-auth-library 进行身份验证 具体来说:我想在 heroku 上托管它,所以我想将秘密保存在环境变量中,而不是文件中(因为我必须提交文件以部署到heroku)。基本上什么在 auth 库中建议: https ://github.com/googleapis/google-auth-library-nodejs#loading-credentials-from-environment-variables
但我似乎无法将生成的客户端传递给 Storage 构造函数?
python - 将 Python 脚本从 oauth2client 升级到 google-auth
我想将以下代码从oauth2client升级到google-auth。是的,这段代码确实有效,是他们网站上 Google 演示的复制粘贴。
我能够升级大部分(我认为),但找不到tools.run_flow
使用google-auth的等价物。下面是我的升级版,除了机制之外,它拥有一切(我认为)tools.run_flow
。如何tools.run_flow
使用google-auth完成?
当我使用google-auth方法运行上述代码时,我得到以下结果:
附加上下文,我正在尝试构建一个 Python 脚本来访问 Google 幻灯片以对幻灯片内容执行一些处理。我只是在阅读,而不是在写 Google 幻灯片。上面的代码是我尝试为我的 GSuite 帐户(我是我的组织的 GSuite 的管理员)处理访问 Google 幻灯片内容的身份验证和授权部分。使用旧oauth2client的第一个示例效果很好,但是由于不推荐使用oauth2client并且建议使用google-auth,因此我想使用最新的库以“正确”的方式进行操作。
更新
我用以下代码解决了部分问题:
我现在的挑战是让网络浏览器自动打开。我可以复制并粘贴链接并手动获取代码,一切正常。理想情况下,我希望像在旧库中那样自动打开 Web 浏览器并捕获令牌。
解决了
将前面代码示例中的部分代码更新为:
Web 浏览器会自动打开并捕获令牌值。一切都很好。
active-directory - freeradius + ldap + google-authenticator
我想用密码 + google_otp 登录到我的 vpn 服务。freeradius 作为身份验证服务器,ldap 作为 backend_database。
我已经完成了以下工作:</p>
- 在 /etc/raddb/sites-enabled/default 中启用 pam 身份验证模块
- 在 /etc/raddb/users 添加一行“DEFAULT Auth-Type := PAM”
- 启用 ldap 模块并将 ldap 站点添加到 freeradis,我确认 raidus 使用 ldap 数据库工作正常。
- 覆盖 /etc/pam.d/radiusd 的内容
运行测试cmd:(testpa是我的密码,271082是otp)
半径日志:
登录 /var/log/secure:
我知道这是因为没有本地用户,用户信息在 ldap 中。
任何人都可以帮助我,告诉我如何配置可以解决这个问题,谢谢。
reactjs - 已发布电子应用程序上的 Google API:gapi.auth2.ExternallyVisibleError:无效的 cookiePolicy
我有一个使用 Google API 进行身份验证并获取日历事件列表的 React + Electron 应用程序。
API 脚本正在我的上加载并在head
我的index.html
上初始化,App.js
如下所示:
它在我运行服务器的本地环境中完全可以正常工作,但是一旦我构建了我的 Electron 应用程序并“本地”运行该应用程序,我就会收到以下错误:gapi.auth2.ExternallyVisibleError: Invalid cookiePolicy
我对 API 和服务器没有深入的了解来解决这个问题,但通过研究,我发现 API 无法从“file://”协议工作,这就是 Electron 应用程序的情况。
想法?想法?
android - Google Auth 迁移到 androidx:SignInHubActivity 未实现 Lifecycle
迁移到 AndroidX 后,我遇到了 Google Auth lib 的以下问题:
在 Android 9 API 28 上:
在 Android 5.0.2 API 22 上
我正在使用以下库版本:
一旦我开始有意图的活动,代码就会崩溃:
我在 settings.gradle 文件中有以下属性:
Google Auth 库不支持使用 AndroidX 库进行身份验证?
有没有办法从一个支持 lib 行为的 androidX lib 开始一个意图?
我接受 java 和 kotlin 语言的答案。
更新 1: 27.12.2017
谷歌api客户端创建:
可能是因为enableAutoManage
?
更新 2:28.12.2018
我设法使用以下代码登录:
所以我认为凭据或其他配置文件没有问题。这样,用户将无法选择帐户。
我认为 Jetifier 以同样的方式失败。
使用 API 27 我得到了同样的错误。
jwt - 谷歌登录:使用 google-auth Python 包时“找不到密钥 id xxxx 的证书”
我正在维护一个网站及其移动应用程序(iOS 和 Android)。对于移动应用程序中的 Google 登录,我在服务器端使用google-auth Python 包。
从大约一个月前开始,我开始从服务器端收到与 Google 登录相关的错误报告。错误消息如下所示:
未找到密钥 ID 728f4016652079b9ed99861bb09bafc5a45baa86 的证书。
服务器端 Google 登录身份验证后端遵循此文档:
该错误来自google.auth.jwt 模块,在根据 Google 公共证书列表验证 Google 颁发的 JWT 时。
深入研究 google-auth 代码,我可以看到该verify_oauth2_token()
函数正在从 URL https://www.googleapis.com/oauth2/v1/certs获取 Google 公开证书。似乎有时,对于从某些 Android 手机发送的某些 Google ID 令牌,在该 URL 中找不到密钥 ID。
以下是一些可能有用的其他细节:
- iOS应用似乎没有这种问题。从
USER_AGENT
标题中,我可以看到该错误仅发生在 Android 应用程序 (USER_AGENT=okhttp/3.11.0
) 中。它只发生在某些 Android 设备中,而不是全部。 - 我想知道这是否只发生在中国的安卓手机上(例如,如果他们通过 VPN 连接)。所以我也检查了用户IP地址。但事实证明,其中一些用户来自欧洲。
- 服务器错误日志中一次又一次地重复出现某些密钥 ID。例如,
aa436c3f63b281ce0d976da0b51a34860ff960eb
从 11 月初到现在(12 月底),密钥 id 被看到了几十次。 - 我经常看到这个错误,每天几次(10~30次)。
我的网站在以下环境中运行:
- 操作系统:Linux (CentOS 7) 64 位
- Apache 2 与 mod_wsgi 4.5.24
- Python 3.6.7 和 Django 2.1.2
- google-auth 版本:尝试了 1.3.0 和 1.6.1
由于我无法用我的 iPhone 或我的 Android 手机(华为 P20,在法国购买)重现此问题,我完全被卡住了。
但是,我的一个朋友现在有这个问题,他从香港买了他的安卓手机。这让我想到,对于某些国家/地区,Google 登录是否有可能使用一些不同的证书,而不是https://www.googleapis.com/oauth2/v1/certs上的公共证书?
我不认为这是 google-auth 包中的错误。我想知道你们中是否有人听说过这个错误,并且可以给我一个关于它可能的原因的提示?
提前致谢!