问题标签 [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.
automated-tests - 用于测试的 Google 身份验证自动化
我有一个使用 Google 作为身份提供者的应用程序。访问应用程序时,用户会获得标准的 Google 用户名/密码弹出窗口。一旦通过 Google 的身份验证,它就会使用 id_token 访问应用程序中的服务之一,然后该服务返回用于进一步授权的专有令牌。
我的目标是为此类应用程序创建一个自动测试。具体来说,问题是针对 Google 的身份验证 - 直到我拥有 id_token。有什么方法可以自动完成,即不显示登录和授权对话框- 只需提出几个请求并最终取回id_token?一旦我有了 id_token,我就知道如何处理我的应用程序。我更喜欢用 curl 来做这个,所以我可以将它移植到 java/javascript/golang 或其他任何东西。
谢谢!
oauth - 我可以在不使其关联的刷新令牌失效的情况下撤销 Google OAuth2.0 访问令牌吗?
我有一个允许用户将视频上传到我的 Youtube 频道的设置。客户端从我的服务器请求访问令牌,该服务器使用刷新令牌来生成所述访问令牌。然后客户端使用该访问令牌来处理视频上传过程。默认情况下,此令牌在 3600 秒内到期,但我相信这仍然允许潜在的利用者有足够的时间来扰乱我的频道。
我想做的是在他们的客户完成(或出错)视频上传过程后立即撤销该用户的访问令牌。我已经知道允许您撤销访问令牌的 Google OAuth 端点,但是以这种方式撤销访问令牌也会撤销用于生成它的刷新令牌。有谁知道通过 Google API 执行此操作的简单方法,还是每次我想撤销访问令牌时我都会重新创建整个 Google OAuth2 工作流程?
google-oauth - 无法更新 Google 访问令牌
我正在将 Google Identity Platform 用于我正在开发的应用程序。我已经把它介绍给了很多学校。
但是近年来,系统出现了一个问题:无法更新访问令牌。
(这个问题出现在很多学校,同样的问题也出现在 Google Cloud Directory Sync 中。)
根据谷歌的说法,令牌到期的条件如下:
- 用户已撤销访问权限。
- 该令牌已六个月未使用。
- 用户更改了密码,并且令牌包含 Gmail 范围。
- 用户帐户已超过一定数量的令牌请求。
但我的情况与上述任何一个都不匹配。还有其他原因可能会导致我遇到此问题吗?
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 上运行?谢谢!
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 example和Authenticating Uses with Python example。我已经运行了这两个示例。两者都不会限制对mycompany
G Suite 帐户的访问。
我是否需要自己实现该逻辑,或者 G Suite 是否提供了一种机制来使用仅限于公司成员的 SSO 身份验证?
ios - iOS Google 静默登录提供了一个(有效的)令牌,但缺少个人资料信息
我已将 Google SignIn SDK (v4.0.1) 集成到我的 iOS 应用程序中。正常的身份验证过程通过以下方式正常工作:
检索到的 idToken 是有效的,包括电子邮件和用户的基本信息:
given_name
family_name
picture
- Google 提供此 URL 用于查看令牌数据: https ://www.googleapis.com/oauth2/v3/tokeninfo?id_token=
问题是,重新启动应用程序后,我执行静默登录,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
会再次生成一个新令牌,但缺少配置文件范围。
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 域中的用户才能登录此应用程序?
我似乎目前在本地测试时仍然能够登录,即使现在这已被限制为来自域的用户......这个限制是否仅在应用程序实时部署到云后才适用?
python-2.7 - Appengine 用户和管理员 - 根据用户类型呈现模板元素
我正在使用适用于 Python 的 Google 身份平台,我有两种类型的用户 - 提供者和顾问。两者都将在 Google Apps 域中拥有一个帐户。
为了分离我的应用程序工作流程,我认为
提供者应该是普通用户
顾问应该是管理员用户
此处讨论管理员用户: https ://cloud.google.com/appengine/docs/standard/python/users/adminusers
is_current_user_admin()
如果当前用户是管理员类型(因此是我的应用程序中的顾问),我有一个基本的了解,可以提供测试。
根据用户类型,我希望在特定页面上显示不同的内容。
例如,如何在以下下拉菜单中仅向管理员显示“插入评估”链接,而不向非管理员用户显示:
编辑:定义管理变量...?
ios - Swift 从谷歌获取出生日期和手机号码
我无法找到从谷歌获取手机号码和出生日期的解决方案....
请帮我...