问题标签 [google-identity]

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 回答
679 浏览

android - 使用 Google 帐户 firebase 自定义按钮 SingIn

我一直在尝试更改 Firebase 中谷歌登录按钮的对齐方式。

我也尝试通过 xml 填充

还考虑创建一个扩展 SignInButton 类的类,但是它是最终的并且不能被继承。
我见过或尝试过的所有代码总是使用相同的结果:在此处输入图像描述

我想将文本更多地对齐到左侧按钮,我可以最接近图标。

0 投票
0 回答
261 浏览

automated-tests - 用于测试的 Google 身份验证自动化

我有一个使用 Google 作为身份提供者的应用程序。访问应用程序时,用户会获得标准的 Google 用户名/密码弹出窗口。一旦通过 Google 的身份验证,它就会使用 id_token 访问应用程序中的服务之一,然后该服务返回用于进一步授权的专有令牌。

我的目标是为此类应用程序创建一个自动测试。具体来说,问题是针对 Google 的身份验证 - 直到我拥有 id_token。有什么方法可以自动完成,即不显示登录和授权对话框- 只需提出几个请求并最终取回id_token?一旦我有了 id_token,我就知道如何处理我的应用程序。我更喜欢用 curl 来做这个,所以我可以将它移植到 java/javascript/golang 或其他任何东西。

谢谢!

0 投票
0 回答
348 浏览

oauth - 我可以在不使其关联的刷新令牌失效的情况下撤销 Google OAuth2.0 访问令牌吗?

我有一个允许用户将视频上传到我的 Youtube 频道的设置。客户端从我的服务器请求访问令牌,该服务器使用刷新令牌来生成所述访问令牌。然后客户端使用该访问令牌来处理视频上传过程。默认情况下,此令牌在 3600 秒内到期,但我相信这仍然允许潜在的利用者有足够的时间来扰乱我的频道。

我想做的是在他们的客户完成(或出错)视频上传过程后立即撤销该用户的访问令牌。我已经知道允许您撤销访问令牌的 Google OAuth 端点,但是以这种方式撤销访问令牌也会撤销用于生成它的刷新令牌。有谁知道通过 Google API 执行此操作的简单方法,还是每次我想撤销访问令牌时我都会重新创建整个 Google OAuth2 工作流程?

0 投票
2 回答
383 浏览

google-oauth - 无法更新 Google 访问令牌

我正在将 Google Identity Platform 用于我正在开发的应用程序。我已经把它介绍给了很多学校。

但是近年来,系统出现了一个问题:无法更新访问令牌。

(这个问题出现在很多学校,同样的问题也出现在 Google Cloud Directory Sync 中。)

根据谷歌的说法,令牌到期的条件如下:

  • 用户已撤销访问权限。
  • 该令牌已六个月未使用。
  • 用户更改了密码,并且令牌包含 Gmail 范围。
  • 用户帐户已超过一定数量的令牌请求。

但我的情况与上述任何一个都不匹配。还有其他原因可能会导致我遇到此问题吗?

0 投票
1 回答
527 浏览

ios - 无法在 iOS 8 上使用 Google 登录 iOS SDK

当我尝试在 iOS 8 上使用Google Sign-In iOS SDK 登录我的应用程序时,身份验证流程网页无法加载403: disallowed_useragent. 这是因为截至去年年底,无法再通过WKWebView博客文章)访问 Google OAuth2 网络身份验证流程。

在 iOS 9+ 上,Google 登录 iOS SDK 使用SFSafariViewController而不是WKWebView. 此流程运行良好。不幸的SFSafariViewController是,iOS 8 中不可用(博客文章)。

allowsSignInWithBrowser在以前版本的 Google SDK 中,可以使用和标志调整登录流程行为allowsSignInWithWebView,但这些已被删除。此外, App Store似乎无论如何都不允许打开 Safari 进行登录。

我不知道从这里去哪里。我可以做些什么来让 Google Sign-In iOS SDK 在 iOS 8 上运行?谢谢!

0 投票
1 回答
1255 浏览

python - G Suite SSO,仅限公司帐户,在 Python 和 Flask 中?

假设我为mycompany.com. 我正在 Flask 中构建一个内部网络应用程序来访问一些公司数据。它不会托管在 Google 的 App Engine 上。

mycompany,我们将 G Suite 用于电子邮件、日历等。我可以访问 G Suite 管理控制台,并且可以进行任何必要的更改。

我要做的是在 Flask 应用程序中提供 Google 身份验证,但仅适用于在公司工作的人,他们通过公司的 G Suite 帐户mycompany拥有电子邮件地址。@mycompany.com

我花了很多时间浏览 Google 的文档,并且找到了 web authentication exampleAuthenticating Uses with Python example。我已经运行了这两个示例。两者都不会限制对mycompanyG Suite 帐户的访问。

我是否需要自己实现该逻辑,或者 G Suite 是否提供了一种机制来使用仅限于公司成员的 SSO 身份验证?

0 投票
0 回答
844 浏览

ios - iOS Google 静默登录提供了一个(有效的)令牌,但缺少个人资料信息

我已将 Google SignIn SDK (v4.0.1) 集成到我的 iOS 应用程序中。正常的身份验证过程通过以下方式正常工作:

检索到的 idToken 是有效的,包括电子邮件和用户的基本信息:
given_name
family_name
picture

问题是,重新启动应用程序后,我执行静默登录,didFinishLaunchingWithOptions如下所示:

sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!)正在调用委托函数。并且身份验证似乎已成功完成。但是,检索到的 idToken(来自 user.authentication.idToken)缺少“配置文件”范围的信息。仅提供电子邮件字段。

将此 idToken 发送到我们的后端服务器会导致有效登录,但缺少的信息会填充到我们的数据库中。令人沮丧。

即使事先设置为true ,也感觉GIDSignIn.sharedInstance().signInSilently()不尊重。GIDSignIn.sharedInstance().shouldFetchBasicProfile

在此阶段尝试通过运行来刷新令牌user.authentication.refreshTokens:handler会再次生成一个新令牌,但缺少配置文件范围。

0 投票
1 回答
144 浏览

python-2.7 - Google 登录到应用程序(仅限域用户)- 正确设置

开始使用 Google 登录保护我的应用程序(适用于我域中的用户)。

我将此用作整体参考: https ://cloud.google.com/appengine/docs/standard/python/users/

我已将代码添加到我的 MainPage 处理程序:

我为这个处理程序更新了 app.yaml:

我已经在 Appengine local 上进行了测试,并且登录页面的开发版本按预期出现。

第一个问题- 我是否需要像在 MainPage 中那样将代码添加到我的所有页面处理程序中?同样,我是否需要将 login:required 添加到 app.yaml 中的每个主要处理程序?

在 GCP Cloud Console 中,我按照文档的建议进入了 Project>AppEngine>Settings>Edit。编辑后,我现在有:

第二个问题是否只需要确保只有我的 Google Apps 域中的用户才能登录此应用程序?

我似乎目前在本地测试时仍然能够登录,即使现在这已被限制为来自域的用户......这个限制是否仅在应用程序实时部署到云后才适用?

0 投票
1 回答
83 浏览

python-2.7 - Appengine 用户和管理员 - 根据用户类型呈现模板元素

我正在使用适用于 Python 的 Google 身份平台,我有两种类型的用户 - 提供者和顾问。两者都将在 Google Apps 域中拥有一个帐户。

为了分离我的应用程序工作流程,我认为

  • 提供者应该是普通用户

  • 顾问应该是管理员用户

此处讨论管理员用户: https ://cloud.google.com/appengine/docs/standard/python/users/adminusers

is_current_user_admin()如果当前用户是管理员类型(因此是我的应用程序中的顾问),我有一个基本的了解,可以提供测试。

根据用户类型,我希望在特定页面上显示不同的内容。

例如,如何在以下下拉菜单中仅向管理员显示“插入评估”链接,而不向非管理员用户显示:

编辑:定义管理变量...?

0 投票
0 回答
1516 浏览

ios - Swift 从谷歌获取出生日期和手机号码

我无法找到从谷歌获取手机号码和出生日期的解决方案....

请帮我...