首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无用户自动服务器到服务器Oauth2 2对Gmail的认证

无用户自动服务器到服务器Oauth2 2对Gmail的认证
EN

Stack Overflow用户
提问于 2021-08-17 04:06:13
回答 1查看 176关注 0票数 1

我已经找到了关于使用用户授权步骤实现Oauth2的大量信息,但我正在尝试运行一个容器,该容器会自动抓取gmail收件箱中的附件,并将其导出到prometheus,而且我很难找到如何实现这个库:https://pkg.go.dev/golang.org/x/oauth2/clientcredentials#Config或其他任何不涉及手动用户步骤来检索令牌的容器。

在Go中这样做是否需要编写直接的API调用,因为我找不到一个现有的库来处理这个场景?创建Google密码并使用通用用户/通过SMTP身份验证更有意义吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-18 07:04:13

首先,我明白你想做什么。

您有一个后端系统运行在一个容器中,它将访问一个gmail帐户并处理电子邮件。

现在,您需要了解您正在使用的API的局限性。

有两种类型的授权用于访问私有用户数据

  1. 服务帐户-服务器与服务器之间的交互仅适用于工作区域。不需要授权弹出。
  2. Oauth2 -授权普通用户gmail帐户,需要用户交互来授权同意屏幕

如果您没有一个工作区帐户,并且这是一个普通的gmail用户,那么您就别无选择,必须使用Oauth2,这将要求用户至少授权应用程序一次。

使用Oauth2,您可以请求脱机访问并接收刷新令牌,您可以使用该令牌在任何时候请求新的访问令牌。问题是,您的应用程序将需要在生产和验证,因为您的刷新令牌将只工作七天,然后它将过期。若要修复此问题并获得不过期的刷新令牌,则意味着您的应用程序必须在生产中进行验证。这意味着你需要通过谷歌的验证过程与一个受限制的gmail范围,这需要第三方的安全检查和费用在15K-75k之间取决于您的应用程序。

我知道这是一个单一的用户系统,但这并不意味着您仍然需要进行验证。当google增加了应用程序验证的需求时,他们并没有考虑像您这样的单一用户系统。

选项

您考虑过直接通过SMPT服务器而不是使用Gmail吗?如果您使用应用程序密码,您应该绕过一切,登录登录和应用程序密码

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68811564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档