问题标签 [google-iap]

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 投票
1 回答
444 浏览

google-signin - 如何让网站的 Google 登录与 Identity Aware Proxy 一起使用

我在谷歌云中有一个网站。我使用身份识别代理 (IAP) 来保护它。

当请求进入 IAP 时,检查我是否已获得授权,然后回复

  • 如果我被授权:我请求的资源的响应
  • 如果不是:一个 302 或 401 响应,取决于它是否认为它是一个 ajax 调用

现在我想在此之上使用Google 登录网站。

这似乎是多余的,因为我在看到按钮时已经登录,但我想用它作为注销或更改用户帐户的一种方式。

现在我试图做的是:

这似乎有效,只是即使我已经登录,它也会向我显示一个登录框,这很可疑。

添加到这个当我做

然后进行完全刷新,然后我仍然可以从 IAP 获得我的资源,证明我仍然在那里登录。

问题:

  • 我怎样才能让它工作?
  • 这甚至是正确的方法吗?
0 投票
1 回答
2063 浏览

google-cloud-platform - Google Cloud Identity Aware Proxy (IAP) 强制注销

我正在尝试解决如何注销正在使用 Google IAP 背后的应用程序的用户

最终目标是能够让用户回到他们第一次访问该站点时完成的初始过程(即他们在再次登录之前无法访问我的应用程序)

我查看了文档,我只能看到https://cloud.google.com/iap/docs/special-urls-howto的“清除用户登录”部分

但是,当用户被重定向到 /_gcp_iap/clear_login_cookie 时,这会将 GCP_IAAP_AUTH_TOKEN cookie 设置为 none,然后将用户重定向到我的应用程序的根目录。到 / 然后的请求又将用户重定向到https://accounts.google.com/o/oauth2/v2/auth(包括许多获取参数),然后又将用户重定向到 /_gcp_gatekeeper/authenticate,这然后再次设置 GCP_IAAP_AUTH_TOKEN cookie,最后将用户返回到我的应用程序(现在重新登录,好像什么都没发生一样)

这里的问题可能是用户仍然登录到其他谷歌帐户应用程序吗?(例如谷歌云控制台、gmail 等)

我想知道是否可以将 GCP_IAAP_AUTH_TOKEN cookie 值发送到https://accounts.google.com/o/oauth2/revoke?token= token,但这似乎被 IAP 负载均衡器剥离

对此的任何和所有帮助表示赞赏。

0 投票
1 回答
1074 浏览

php - Google 身份识别代理 (IAP) 超时错误

我在谷歌云上托管了一个 PHP Web 应用程序,并使用身份识别代理 (IAP) 对其进行保护。

现在,我遇到了超时问题,因为 IAP 似乎没有遵循 php 会话时间。

以下是会话超时的 phpinfo()。

php信息

该应用程序仅持续大约 40 分钟,并在从 Ajax 访问服务器时要求用户再次登录或收到 401 错误。

我需要它持续大约 4-8 小时。请帮忙。

0 投票
0 回答
775 浏览

curl - 以编程方式为谷歌云启用 IAP(身份感知代理)

我正在尝试以编程方式为 GKE(Google Kubernetes Engine)上的应用程序启用 IAP(身份感知代理)。为此,我首先必须创建一个“OAuth 2.0 客户端 ID”。使用开发人员工具,我能够获得这个 CURL 命令来创建 clientId“IAP-meow-meow-meow”。

有谁知道如何使用此 CURL 命令或其他方法进行身份验证以创建此对象?

https://cloud.google.com/iap/docs/enabling-gce-howto

要求

回复

0 投票
1 回答
159 浏览

django - Djangae AppEngine 对 IAP 的行为不端

我用来处理用户登录和管理员登录的代码:

当我使用Djangae appengine with Datastore (Django with datastore support)后端时一切正常,但是当我启用时Google Identity Aware Protocol (Google IAP)一切都开始失败。当我检查日志时,它说djangae_gaedatastoreuser字段 email_lower中有一个 IntegrityError

完整性错误email_lower数据存储类型在字段 中有两个空条目。email_lower

甚至google.appengine.api.users模块也开始出现异常。在第一次尝试登录时,我可以正常登录 AppEngine,但我无法以 google 帐户用户的身份注销 appengine,我看到我已经注销了我的 Google 帐户(这很好但是)。当我尝试登录时,我看到登录(谷歌登录)不需要身份验证。

当我从另一个浏览器实例登录时,它显示

数据库错误

有人可以解释为什么会发生这种情况以及我必须做些什么来避免这种情况。

0 投票
4 回答
1437 浏览

google-app-engine - 身份感知代理和 App Engine 服务,每个服务一个?

是否可以使用 Google Cloud IAP(身份识别代理)对 AppEngine 服务进行更细粒度的访问控制?

我有两个服务 A 和 B,我希望一些用户能够访问 A,并且我想提供可以访问服务 B 的不同用户列表。我想使用 IAP 来控制访问。

0 投票
1 回答
1084 浏览

python - 如何使用 Python 访问受 IAP 保护的资源?

如何使用 Python 访问受 IAP 保护的资源?更具体地说,我想生成标头中Bearer所需的令牌Authorization以调用受 IAP 保护的资源。

我创建了一个服务帐户,为其授予“IAP-Secured Webapp User”权限,并将其 JSON 凭据下载到磁盘。

0 投票
1 回答
3149 浏览

google-app-engine - 谷歌云 IAP,使用不记名令牌授权给出错误代码 13 并且从未达到应用引擎实例

我正在尝试为托管在 Google 云中的应用程序设置云 IAP。

通过 Web 登录应用程序效果很好,您将被重定向到 Google 身份验证页面,并被重定向回网站,其中会话令牌设置为 cookie。

通过非 Web 界面进行身份验证,遵循编程身份验证指南,尝试其中描述的命令行方式,并使用 iOS SDK。在这两种情况下,登录都可以正常工作,并且我从登录过程中收到一个 id_token 。但是当我提出如下请求时:

我总是收到以下回复:

请求中的 ID_TOKEN 是什么无关紧要,响应总是错误代码 13。如果我不指定 Authorization 标头,我将被重定向到 Google 的登录页面。

我缺少任何设置或配置吗?

0 投票
1 回答
387 浏览

node.js - 谷歌云客户端库和用户认证

我正在为 Google Cloud Platform 开发我的第一个应用程序。

特别是,我使用 Node.js 作为基础框架。Google 本身提供Node.js 客户端库来与其服务交互。

例如,此代码能够在 Cloud Storage 中创建一个新存储桶:

但是,如果我在 Google Application Engine 上部署此代码,则上述操作是使用服务帐户(我想至少)而不是作为最终用户完成的,即使在 OAuth 身份验证之后也是如此,因此忽略了现有的 IAM 策略。

我怎样才能避免这个问题,并为我的请求使用以用户为中心的流程?我可以使用身份识别代理吗?如果是,如何?

更新

为了让我的问题更容易理解:

考虑这段代码:

如果给定用户已经通过 OAuth2 登录,则可以调用此路由。

我想调用getBuckets()传递 OAuth accessToken 的方法来模拟用户本身来执行此操作。通过这种方式,该操作无法跳过 GCP 中针对当前登录的给定用户的 IAM 规则。

我滴滴尝试:

但它不起作用。该应用程序仍然使用我的默认帐户。

0 投票
2 回答
3147 浏览

python - 如何使用用户默认凭据以编程方式对受 Cloud Identity-Aware Proxy (Cloud IAP) 保护的资源进行身份验证?

我希望能够使用开发环境上的用户默认凭据以编程方式为 iap 生成一个 id 令牌(即我自己的笔记本电脑,安装并登录了 google cloud sdk)。

遵循文档时,我设法使用服务帐户文件生成了授权令牌。

在我的个人计算机上使用google.auth.default时,我可以看到类型的凭据google.oauth2.credentials.Credentials有一个refresh_token. 我想用它来生成令牌,因为它是在下面的文档中使用 curl 完成的, Authenticating from a desktop app -> Accessing the application但我无法让它工作。有人知道是否有办法以这种方式进行身份验证?