簡體   English   中英

通過服務帳戶使用谷歌庫訪問驅動器 API 時是否需要明確刷新令牌

[英]Is there any need to refresh token explicitly when accessing drive API's using google libraries via Service Account

我有一個用 java 編寫的應用程序,它通過服務帳戶使用 google SDK 驅動器 API 將文件上傳到 Google 驅動器。 我想了解我是否真的需要明確處理訪問令牌過期問題,因為根據我的理解,SDK 本身會檢查並刷新令牌是否過期。 我可能是錯的,但我沒有找到任何有關服務帳戶令牌刷新的文檔。 對此的任何解釋都將非常有幫助。 如果有幫助,我已附上 Google 授權的代碼。

  public void init() throws Exception {
        // consider gAuth is a google_scret.json file
        gAuth = SecretsUtil.getSecret("auth");
        credentials = GoogleCredentials.fromStream(new ByteArrayInputStream(gAuth.getBytes()))
                .createScoped(DriveScopes.all());
        requestInitializer = new HttpCredentialsAdapter(credentials);
        log.info("Google Auth Service Initialized");
        
    }

    public HttpRequestInitializer getCredential() {
        return requestInitializer;
    }

回答:

不用了,這個給你處理。

更多信息:

從文檔中:

服務帳戶使用不需要人工授權的 OAuth 2.0 流。 相反,它使用只有您的應用程序可以訪問的密鑰文件。

這個想法是服務帳戶將繼續運行,做它需要做的事情,而不需要任何人的交互,所以客戶端庫會為你處理這個。

Google OAuth 2.0 授權服務器頒發的訪問令牌在頒發后一小時到期。 當訪問令牌過期時,應用程序應生成另一個 JWT,對其進行簽名並請求另一個訪問令牌。

我希望這對你有幫助!

參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM