从防火墙后面的 Wildfly/Keycloak 安全网络应用程序调用 oauth2 保护 google 应用程序引擎应用程序
Securing a google app engine application with oauth2 on call from a Wildfly/Keycloak secured web application behind a firewall
要求
- 我的要求是编写一个在防火墙后运行并通过 OAuth2 协议访问 google 应用引擎应用程序的安全 Web 应用程序。 google 应用程序引擎不应以任何其他方式访问(由 developer/admin 保存)。编程语言是Java。授权是服务器到服务器。
部署
- 我将在 WildFly (JBoss) 上使用 Keycloak 创建一个 "gate keeper" 应用程序 运行,并将使用活动目录登录我的用户在防火墙 后面的这个Web 应用程序运行 上。这样,在我所服务的企业中拥有帐户的每个人都应该可以访问 google 应用引擎应用程序。同样,此处理作为部署到 WildFly 的 Java EE Web 应用程序在企业防火墙后运行。
成功登录后的下一步是将用户重定向到 google 应用引擎正在服务的网页。 我不希望任何其他用户(我的开发者 account/owner 帐户除外)能够访问此 url。
我已经为我的 google 应用引擎项目创建了 JSON 用户凭证文件并从 google 开发者控制台下载。
我还在我的看门人项目的 maven pom 文件中包含了 google-api-client。
<dependency>
<groupId>com.google.api-client</groupId>
<artifactId>google-api-client</artifactId>
<version>1.20.0</version>
</dependency>
来自 https://developers.google.com/api-client-library/java/google-api-java-client/setup
问题
- 如何使用 googleapi 客户端编写 (Java) OAuth 2.0 的精彩世界? 我想我将在 "gate keeper web application" (Java) 上有代码,并且可能在我的 appengine-web.xml. 中有一些配置 xml应用程序需要任何额外的代码吗?有没有人有分步说明或示例 code/configuration?我已阅读 https://developers.google.com/identity/protocols/OAuth2ServiceAccount 但不知道如何申请。
在此先感谢您的帮助。我想这对 SaaS 提供商来说是很常见的场景吗?
如前所述,您至少提出了 2 个问题。首先,如何根据防火墙后面的 OpenID Connect 1.0 身份验证服务器(在本例中为 Keycloak)对应用程序进行身份验证。其次,如何使用google-api-client
.
我建议您查看 OAuth Bible 以了解如何实施 OAuth 2.0 两条腿和三条腿流程。三足认证更安全,但你的防火墙会带来问题。
此外,如果您将 google-api-client
部分分解为更具体定义的问题,您将更有可能获得帮助。
要求
- 我的要求是编写一个在防火墙后运行并通过 OAuth2 协议访问 google 应用引擎应用程序的安全 Web 应用程序。 google 应用程序引擎不应以任何其他方式访问(由 developer/admin 保存)。编程语言是Java。授权是服务器到服务器。
部署
- 我将在 WildFly (JBoss) 上使用 Keycloak 创建一个 "gate keeper" 应用程序 运行,并将使用活动目录登录我的用户在防火墙 后面的这个Web 应用程序运行 上。这样,在我所服务的企业中拥有帐户的每个人都应该可以访问 google 应用引擎应用程序。同样,此处理作为部署到 WildFly 的 Java EE Web 应用程序在企业防火墙后运行。
成功登录后的下一步是将用户重定向到 google 应用引擎正在服务的网页。 我不希望任何其他用户(我的开发者 account/owner 帐户除外)能够访问此 url。
我已经为我的 google 应用引擎项目创建了 JSON 用户凭证文件并从 google 开发者控制台下载。 我还在我的看门人项目的 maven pom 文件中包含了 google-api-client。
<dependency> <groupId>com.google.api-client</groupId> <artifactId>google-api-client</artifactId> <version>1.20.0</version> </dependency>
来自 https://developers.google.com/api-client-library/java/google-api-java-client/setup
问题
- 如何使用 googleapi 客户端编写 (Java) OAuth 2.0 的精彩世界? 我想我将在 "gate keeper web application" (Java) 上有代码,并且可能在我的 appengine-web.xml. 中有一些配置 xml应用程序需要任何额外的代码吗?有没有人有分步说明或示例 code/configuration?我已阅读 https://developers.google.com/identity/protocols/OAuth2ServiceAccount 但不知道如何申请。
在此先感谢您的帮助。我想这对 SaaS 提供商来说是很常见的场景吗?
如前所述,您至少提出了 2 个问题。首先,如何根据防火墙后面的 OpenID Connect 1.0 身份验证服务器(在本例中为 Keycloak)对应用程序进行身份验证。其次,如何使用google-api-client
.
我建议您查看 OAuth Bible 以了解如何实施 OAuth 2.0 两条腿和三条腿流程。三足认证更安全,但你的防火墙会带来问题。
此外,如果您将 google-api-client
部分分解为更具体定义的问题,您将更有可能获得帮助。