Laravel 具有需要 OAuth2 的任务的调度程序

Laravel scheduler with task that requires OAuth2

我正在使用 Gmail API 来检索最近的邮件。当然,Gmail API 需要 OAuth2 Token 来验证请求。并且每第n次无限重复该任务。

但是,我认为这是不可能完成的任务。因为 OAuth 令牌过期了。虽然它有刷新令牌,但仍需要初始用户干预才能启动任务。

有没有人遇到同样的问题?如果有,你们是怎么克服的?

我有点卡在这件事上了。并希望听到解决方案。

I am using Gmail API to retrieve recent messages.

如果您尝试访问私人用户数据,您需要征得用户的同意。

this is an impossible task. Because OAuth token expires.

令牌过期这是有意的,如果他们没有过期并且有人得到了您的令牌,他们可以通过在令牌上设置过期时间来永远使用它,这限制了黑客访问您的数据的时间。

Does anyone experience the same problem? If so, how did you guys overcome it?

这些是您不应该尝试克服的事情,这些是您应该接受的事情,并尝试了解它们为您的应用程序带来的安全性。

I'm kinda stuck on this matter. and would love to hear a solution.

如果这是 google 工作区域帐户,您可以考虑使用服务帐户。

但是,如果这是标准 google gmail 用户,那么您将需要使用 Oauth2 并请求用户的同意。如果您有刷新令牌,您应该不会遇到问题,您只需要授权用户一次,您就可以在需要时请求新的访问令牌。