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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了需要Google OAuth 2.0架构建议通过Java邮件Api发送Smtp邮件相关的知识,希望对你有一定的参考价值。

我们有一个基于客户端服务器的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:我们有很多客户端,所以我们应该为每个客户端使用一个应用程序,或者我们应该在云上部署单个应用程序,其中每个客户端仪表板将在登录时重定向,作为响应我们将获得令牌。

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

答案

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

以上是关于需要Google OAuth 2.0架构建议通过Java邮件Api发送Smtp邮件的主要内容,如果未能解决你的问题,请参考以下文章

使用服务帐户通过 OAuth 2.0 调用 v3 Google 日历 API 时出现“需要登录”401 未经授权的消息

通过 OAuth 2.0 自动使用 google-api-dotnet-client

通过 OAuth 2.0 和私钥(即服务帐户)访问 Google Contacts Api

适用于 Google Bigquery 的 Oauth 2.0

OAuth 2.0 刷新令牌是不是完全过期?

我在哪里可以检查 google oauth 2.0 access_token 是不是有效?