【发布时间】:2016-03-11 12:10:41
【问题描述】:
要求
- 我的要求是编写一个在防火墙后运行并通过 OAuth2 协议访问谷歌应用引擎应用程序的安全 Web 应用程序。谷歌应用引擎应该不能以任何其他方式访问(由开发人员/管理员保存)。编程语言是Java。授权是服务器到服务器。
部署
- 我将在 WildFly (JBoss) 上使用 Keycloak 运行一个“看门人”应用程序,并将使用 Active Directory 登录我的用户在这个运行在防火墙后面的 Web 应用程序。通过这种方式,在我所服务的企业拥有帐户的每个人都应该可以访问谷歌应用引擎应用程序。同样,此处理作为部署到 WildFly 的 Java EE Web 应用程序在企业防火墙后面运行。
成功登录后的下一步是将用户重定向到谷歌应用引擎正在服务的网页。 我不希望任何其他用户(我的开发者帐户/所有者帐户除外)能够访问此网址。
我已经为我的 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
问题
- 我如何使用 google api 客户端编写 (Java) OAuth 2.0 的精彩世界? 我想我将在“Gate keeper Web 应用程序”(Java) 上编写代码,并且可能还有一些配置 xml我的 appengine-web.xml。 我的应用引擎应用程序是否需要任何其他代码?有没有人有分步说明或示例代码/配置?我已阅读https://developers.google.com/identity/protocols/OAuth2ServiceAccount,但不知道如何申请。
提前感谢您的帮助。我猜这对于 SaaS 提供商来说是一个非常常见的场景?
【问题讨论】:
-
欢迎来到stackoverflow。请参阅how to write a good stackoverflow question,尤其是这个问题太宽泛了。显示您尝试过的内容和具体问题。
-
感谢您访问这个精美的网站。我的问题并不是那么广泛。我正在寻找一个例子,一个快速启动的东西来集中我的实施。我认为对 google api 客户端的调用将具有某种格式,appengine-web.xml 是另一种格式。我在文献中没有发现这一点。我想其他人已经解决了这个问题。我正在寻找这种专业知识。 1.如何使用谷歌客户端api调用服务到服务。 2. appengine-web.xml 的样子。 3. 本优秀网站的人员可以提供的任何其他专业知识。谢谢。
-
将特定信息放在您的问题中,而不是在这里。仍然过于广泛,因为许多教程和文档都涵盖了这一点。关注一个并显示具体问题。
-
只是检查我的理解:您有一个内部 Keycloak 服务器和一个外部 Google Apps Engine。您希望通过 Keycloak 服务器对用户进行身份验证来保护您的 Google Apps Engine 应用程序。这是对的吗?
-
你的理解是正确的!谢谢。
标签: java google-app-engine oauth-2.0 wildfly keycloak