需要Google OAuth 2.0架构建议通过Java邮件Api发送Smtp邮件

问题描述 投票:0回答:1

我们有一个基于客户端服务器的Java产品,我需要在服务器仪表板中集成google OAuth,我们的客户端可以在其中登录并允许访问gmail API。之后,服务器将使用REFRESH TOKEN和ACCESS TOKEN使用客户端gmail通过Java Mail API向某些电子邮件发送电子邮件报告。我们只需要实施一次登录并永久发送邮件,即离线访问(意味着REFRESH TOKEN是强制性的)。我们的产品部署在前提和基于云(仅限一个)。因此,在客户端环境中,我们可以将私有ip或公共ip或公共ip映射到dns。

我知道有两种方法可以做到这一点:

1)服务器端认证

2)客户端认证

在这两种情况下,您需要公共DNS映射REDIRECT URI,即google将在登录后重定向用户的URL。但在我们的情况下,我们总是没有映射到客户端服务器计算机的公共域。另外,我们也不能在重定向uri中提供localhost。

所以

问题I:应该用什么代替REDIRECT_URI

问题II:我们有很多客户端,所以我们应该为每个客户端使用一个应用程序,或者我们应该在云上部署单个应用程序,其中每个客户端仪表板将在登录时重定向,作为响应我们将获得令牌。

任何其他替代上述问题将不胜感激。

java oauth-2.0 google-oauth javamail
1个回答
0
投票

好的,我得到了架构。 Google应用程序可以灵活地添加多个java脚本来源并重定向uri。所以我们需要在开发者控制台中只创建一个应用程序。对于每个客户,我们将添加一个授权的java脚本来源并在谷歌应用程序在线重定向uri。当在客户端的服务器中按下登录按钮时,我们将根据已在谷歌应用程序中添加的客户端提供重定向uri。对于私有IP没有解决方案,但localhost可以与限制一起使用从服务器系统上的浏览器登录。

© www.soinside.com 2019 - 2024. All rights reserved.