Mar*_* V. 56 security google-api oauth-2.0 google-api-java-client google-oauth
我们有一个独立的Java应用程序(请参阅"安装应用程序":https://developers.google.com/accounts/docs/OAuth2)的定期运行,并使用谷歌API(从客户数据库/ LDAP更新一些信息/ ...) .
要访问Google API,我们会在配置文件中存储用户名和密码,这是一种安全风险,客户不喜欢这样做.因此,我们希望使用OAuth2长期访问令牌.
Google OAuth2访问令牌的默认到期时间是什么时候?
由于我们在应用程序中只有访问令牌,因此当访问令牌到期时,应用程序本身无法刷新它...
我个人认为在这种情况下OAuth2的实现不会带来任何重大好处,但让我们关注主要问题 - 默认的到期时间.
vla*_*tko 99
您不应该根据访问令牌的特定生命周期来设计您的应用程序.假设他们(非常)短暂.
但是,在成功完成OAuth2安装的应用程序流程后,您将获得刷新令牌.此刷新令牌永不过期,您可以根据需要使用它来交换访问令牌.保存刷新令牌,并使用它们按需访问令牌(然后应立即用于访问用户数据).
编辑:尽管我上面的评论,有两种简单的方法来获取访问令牌到期时间:
expires_in当您交换刷新令牌(使用/ o/oauth2/token端点)时,它是response()中的参数.更多细节.还有一个API可以返回access_token的剩余生命周期:
https://www.googleapis.com/oauth2/v1/tokeninfo?access_token= {accessToken}
这将返回一个包含expires_in参数的json数组,该参数是令牌生命周期中剩余的秒数.
google oauth2 访问令牌的默认到期日期为 1 小时。expiry_date 是以毫秒为单位的 Unix 纪元时间。如果你想以人类可读的格式阅读它,那么你可以在这里简单地检查它.. Unix 时间戳到人类可读的时间