要求
- 我的要求是编写一个在防火墙后面运行并通过 OAuth2 协议访问谷歌应用引擎应用程序的安全 Web 应用程序。谷歌应用引擎应该不能以任何其他方式访问(由开发人员/管理员保存)。编程语言是Java。授权是服务器到服务器。
部署
- 我将使用 Keycloak 在 WildFly (JBoss)上运行一个“看门人”应用程序,并将使用活动目录在防火墙后面运行的这个 Web 应用程序上登录我的用户。通过这种方式,在我所服务的企业拥有帐户的每个人都应该可以访问谷歌应用引擎应用程序。同样,此处理作为部署到 WildFly 的 Java EE Web 应用程序在企业防火墙后面运行。
成功登录后的下一步是将用户重定向到谷歌应用引擎正在服务的网页。 我不希望任何其他用户(我的开发者帐户/所有者帐户除外)能够访问此网址。
我已经为我的谷歌应用引擎项目创建了 JSON 用户凭证文件并从谷歌开发者控制台下载。我还在网守项目的 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 的精彩世界?我想我将在“看门人 Web 应用程序”(Java) 上有代码,并且可能在我的appengine-web.xml 中有一些配置 xml。 我的应用引擎应用程序是否需要任何额外的代码?有没有人有分步说明或示例代码/配置?我已阅读https://developers.google.com/identity/protocols/OAuth2ServiceAccount,但不知道如何申请。
在此先感谢您的帮助。我猜这对于 SaaS 提供商来说是一个非常常见的场景?