问题标签 [google-identity-toolkit]
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.
google-identity-toolkit - 在您的 Android 应用程序中使用身份工具包的文档冲突
以下页面https://developers.google.com/identity/toolkit/android/quickstart#step_3_set_up_the_quick-start_app告诉我
取消注释 identitytoolkit.api_key 元数据并将占位符替换为您的 API 密钥。您可以在标题为“ Android应用程序密钥”的公共 API 访问部分中找到您的 API 密钥。
而页面https://developers.google.com/identity/toolkit/android/告诉我相同的步骤
取消注释 identitytoolkit.api_key 元数据并将占位符替换为您的 API 密钥。您可以在标题为“浏览器应用程序密钥”的公共 API 访问部分中找到您的 API 密钥。
两个都试了,结果没区别,就是登陆不了。
我还尝试了不同的组合
取消注释 android:scheme 行并将占位符替换为您的反向服务器客户端 ID。您可以在标题为“ Web 应用程序的客户端 ID ”的 OAuth 部分中找到此 ID 。例如,如果您的服务器客户端 ID 是 123.apps.googleusercontent.com,则将 com.googleusercontent.apps.123 放在这里。
但所有这一切都变得有点连线了。
我什至不知道要问哪些问题才能解决这个问题,但如果文档表明某种值得信赖的“这就是你需要做的”,那就太好了。
Google 的某个人能否仔细检查两个站点中的“修改 AndroidManifest.xml ”部分并解释哪些信息是正确的?我有点困惑为什么我需要向 Android 应用程序添加这么多 Web 应用程序的东西。
提前致谢。
更新:得到它的工作,原来我在控制台中注册了错误的应用程序名称(它是一个不完整的路径)。此外,您使用哪个密钥似乎并不重要(我使用的是“ Android应用程序密钥”。)
google-identity-toolkit - 无效验证算法 sha256 错误
嗨,我已经配置了 node.js 应用程序,并且在大多数情况下它工作正常。但在登录后的最后一步,我收到此错误: Invalid token: Unable to verify the ID Token: Invalid verify algorithm sha256 我可以看到 gtoken 正在设置。但是我已经没有关于从哪里设置算法的想法了。我没有在任何地方配置它,那么我如何传递一个无效的算法?
有什么建议么 ?
google-identity-toolkit - Android登录流程(密码登录)混乱
我正在测试 GitKit V3 Android 快速入门,除了密码登录,一切都很好。每次我第一次输入一些随机的电子邮件地址时,登录流程都会提示我一个“创建新帐户”框。登录后,我能够验证令牌以提取电子邮件等。
但是,当我注销(删除我的会话令牌)并使用相同的电子邮件再次登录时,我希望它让我输入我的密码,但它会再次提示我使用“创建新帐户”框。在这里,如果我尝试输入新的名称和密码,该框会抱怨电子邮件已经存在。我不确定为什么会出现这种情况,因为查看示例代码只会将我带到 startSignIn() 方法。
我认为快速入门非常适合我的应用程序,但我想知道是否应该覆盖 UI 管理器并实现自己的登录流程?现在,我正在考虑使用该框抱怨电子邮件存在(当您首次登录后)提示用户输入密码等事实。
难道我做错了什么?
先感谢您!
PS -这里有一个类似的问题,但答案没有帮助。
java - 使用 Gradle 添加 Google 身份工具包时出错
我正在尝试使用 Gradle 将 Google Identity Toolkit 添加到我在 Android Studio 中的 Google App Engine 后端。但我是 Android Studio 和 Gradle 的新手。
我在后端 build.gradle 中添加了以下内容:
在同步和 gradle 构建之后,我尝试添加一个导入:
但我收到以下错误:
无法解析符号“identitytoolkit”
和
错误:com.google.identitytoolkit 包不存在
google-api - Google API Explorer 和 Google Identity Toolkit API 不工作
我正在尝试使用 Google API Explorer 探索 Google Identity Toolkit API。API 提示“不需要身份验证”,但是当我尝试执行请求时出现错误消息:
如果我尝试使用 OAuth 2.0 切换并授权 API,我会收到 400 错误:
但是 Google Identity Toolkit API 没有声明任何范围。
请问有人可以帮忙吗?
更新: 使用 API Explorer 时遇到的其他错误:尝试执行 getAccountInfo 请求时,我传递了一个填充了 localId 字段的请求正文。我得到的回应是:
validation - 验证通过第 3 方后端(自定义 python 后端,非 gae)上的 Google Identity Toolkit (GitkitClient) 在 Android 设备上获得的 OAuth2 令牌?
如何验证通过第 3 方后端(自定义 python 后端,非 gae)上的 Google Identity Toolkit (GitkitClient) 在 Android 设备上获得的 OAuth2 令牌?
我可以通过使用 GitkitClient 在 Android 上获取令牌。
但是,我的非 google-app-engine (Python) 后端如何验证此令牌是否有效(来自 Google)?
session - 为什么要把 GITkit.idToken 换成 Session Token?
GitHub 上的GitkitDemo说
现在使用 idToken 为您的用户创建会话。为此,您应该将 idToken 交换为来自服务器的会话令牌或 Cookie。最后,保存 Session Token 或 Cookie 以维护用户的会话。
在Validating OAuth2 token getting on Android device via Google Identity Toolkit (GitkitClient) on 3rd-party backend (custom python backend, non-gae)问题答案的示例代码中?通过 Android 获得的令牌的后端服务器令牌验证似乎足以确保拥有一个有效、安全的令牌,该令牌可以在与后端的任何后续通信期间添加到 Android 客户端标头中。
那么为什么会有推荐you should exchange the idToken for either a Session Token or Cookie from your server
呢?
这是由于 idToken 的大小(几乎 1KB,IIRC)吗?
存在哪些建议(最简单和最安全的方式)来生成这样的会话令牌?
除了大小之外,还有其他反对使用 idToken 作为会话令牌的论据吗?
会话令牌可以是 idToken(idToken.split(".")[0]
在 Python 中)的第一部分(“令牌”)吗?还是有效载荷 ( idToken.split(".")[1]
)?或者也许创建 idToken 的 SHA1?编辑:好的,我意识到使用 JTW 标头会很愚蠢,但是有效负载至少有几个变量(iat
并且exp
可能还有user_id
),但是签名?
由gitkit.js(“gtoken”)创建的令牌/cookie 是 idToken 本身,是否也应该用会话令牌替换?
javascript - “网站身份工具包”与“网站身份工具包 v2”(2015 年 8 月)
在搜索“ google identity toolkit javascript ”时,我注意到有两个版本可用。
产品►Google Identity Platform►Identity Toolkit►Identity Toolkit for Websites
产品►Google Identity Platform►Identity Toolkit►Identity Toolkit for Websites v2
如果从Products►Google Identity Platform►Identity Toolkit开始,则无法进入 v2,因为所有内容都在引用 v1 而没有提及 v2。
- 那么,v2 怎么了?
- 新项目应该使用 v2 吗?
此外,从Products►Google Identity Platform►Identity Toolkit开始时,无法访问 v1 文档的另一个“变体”,位于此链接的那个提供与 v2(入门页面)非常相似的信息,可能是“网站身份工具包”的实际文档。
此外,当您将 v1 与几乎相同的 v2 文档进行比较时,您可能会注意到“GITkit”一词的使用已被“Identity Toolkit”取代:
v1:
Google 身份工具包 (GITkit) 使依赖方能够使用互联网标准协议 OpenID 2.0 和 OAuth 来验证用户是否拥有其网站上的帐户
v2:
Google Identity Toolkit (Identity Toolkit) 使依赖方能够使用互联网标准协议 OpenID 2.0 和 OAuth 来验证用户是否拥有其网站上的帐户
- 我已将 Google 放在方括号中,因为虽然标题包含该单词,但左侧菜单项却没有。
这种转变的原因是什么?这只是文档中的重构工作(也可能是库中的重构工作)还是底层技术发生了变化并包括这两个版本之间的不兼容性?
谷歌或 GITkit 开发人员是否在某处发表了声明,解释了路线图、版本间的变化、“身份工具包”的当前状态和 GITkit 的淘汰?
google-identity-toolkit - 如何本地化 Gitkit 登录按钮和登录页面
下面的示例代码仅适用于旧 V1 版本。有什么新的解决方案推荐吗?谢谢。
security - Android 应用程序和后端服务器之间的 GITkit 和 MITM 安全性
在与后端服务器的任何后续通信中,假设 idtoken 提供的安全性不比用自身的(可能加盐的)SHA2 哈希替换它更安全,这是否正确?
预定流程如下:
- Android 应用从 Google 获取 idtoken
- 应用程序将 idtoken 发送到自托管后端服务器,后端使用 gitkitclient.VerifyGitkitToken 对其进行验证
- 后端创建令牌的 SHA2 哈希以及到期日期和关联的用户 ID,并将其存储在查找表中以供将来参考
- Android 应用程序会创建与 idtoken 相同的 SHA2 哈希,并在以后与后端的任何通信中将其传递到标头中,而不是使用 idtoken 进行后续通信。
这会以任何方式降低系统的安全性吗?
如果具有 https 检查的透明代理(以及设备上安装的相应证书,即合法地在公司环境中)会嗅探流量,则获取 idtoken 或它的 SHA2 哈希将没有区别,该透明代理将能够在 idtoken 的整个生命周期内代表 Android 应用程序(可能以粗鲁的方式)采取行动,对吗?
我的问题是在每次与服务器的后续通信时调用 gitkitclient.VerifyGitkitToken 太昂贵了,一旦确定了 idtoken 的有效性,就没有必要了。
我也不希望将 idtoken 存储在服务器上以供将来参考,而是更喜欢它的哈希值。idtoken 的 SHA224 哈希是否足够,是否可以安全地假设它不会导致任何冲突?