查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
Apigee Edge 提供 OAuth 2.0 架構, 安全 APIOAuth2 是最常見的開放標準式權杖式驗證 授權機制可讓用戶端應用程式代表使用者存取 API,而不必 要求使用者提供自己的使用者名稱和密碼。
Apigee Edge 可讓開發人員透過實作任一種 四種 OAuth2 授權類型: 用戶端憑證, password、 隱含及 授權碼 - 使用 OAuthv2 政策。 用戶端應用程式會透過存取權杖使用安全的 API。每個存取權杖有各自的到期日 您可以在 OAuthv2 政策中設定。
您可以選擇將更新權杖與某些授權類型一起核發。重新整理 權杖可用於取得新的有效存取權杖。 已撤銷。您也可以在 OAuthv2 政策中設定更新憑證的到期時間。
反模式
在 OAuthv2 政策中設定存取權杖和/或更新權杖的到期時間 會造成 OAuth 權杖的累積,並增加 Cassandra 節點上的磁碟空間。
以下 OAuthV2 政策範例,更新憑證的到期時間為 200 天:
<OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>1800000</ExpiresIn> <!-- 30 minutes --> <RefreshTokenExpiresIn>17280000000</RefreshTokenExpiresIn> <!-- 200 days --> <SupportedGrantTypes> <GrantType>password</GrantType> </SupportedGrantTypes> <GenerateResponse enabled="true"/> </OAuthV2>
在上述範例中:
- 設定存取權杖的到期時間,應該合理低於 30 分鐘。
- 其設定更新權杖的到期時間非常長 (200 天)。
- 如果這個 API 的流量每秒 10 次要求,就能產生多達 864,000 個權杖 一天後
- 由於更新權杖只會在 200 天後過期,因此會保留在資料儲存庫 (Cassandra) 中 導致持續累計。
影響
- 導致資料儲存庫 (Cassandra) 上的磁碟空間用量大幅增加。
- 對 Private Cloud 使用者來說,這可能會導致儲存空間費用增加;在最糟的情況下,磁碟可能會已滿,導致執行階段錯誤或服務中斷。
最佳做法
請根據具體的需要,為 OAuth 存取和更新權杖設定適當的到期時間 進而迅速全面清除,避免累計。
設定重新整理權杖的到期時間,並讓憑證的有效期限延長 而非存取權杖舉例來說,如果您為存取權杖設定 30 分鐘,然後為存取權杖設定 60 分鐘 重新整理權杖。
這能確保:
- 您可以選擇使用更新權杖來產生新的存取權和更新權杖, 存取權杖已過期。
- 更新權杖會在一段時間後失效,並可能及時清除, 避免累計