您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
Apigee 提供下列實用工具,可產生及傳遞 OAuth2 存取和更新權杖。您可以使用這些權杖,在 Edge API 呼叫中透過 OAuth 驗證身分 (包括 SAML 和 LDAP 工作流程):
acurl(1):提供標準curl指令的便利包裝函式。建構 Edge API 的 HTTP 要求、從get_token取得存取和重新整理權杖,並將存取權杖傳遞至 Edge API。get_token(1):將 Apigee 憑證換成存取和更新權杖,以便呼叫 Edge API。
這兩項公用程式都會以您的 Apigee 帳戶憑證 (使用者名稱和密碼或密碼) 換取 OAuth2 權杖。
Apigee 公用程式建立的權杖符合 OAuth 2.0 授權架構規格。
您可以選擇是否使用 Apigee 公用程式取得權杖,或存取 Edge API 的驗證伺服器。 您可以自行實作產生 OAuth2 存取權杖的機制,並在傳送至 Edge API 的要求中提供權杖。
安裝 acurl 和 get_token
Apigee 會提供 ZIP 檔案,內含 acurl(1)、get_token(1) 和安裝指令碼。
如何安裝 acurl 和 get_token:
- 在電腦上建立安裝目錄,或使用預設的
usr/local/bin目錄。 - 從 Apigee 下載安裝 ZIP 檔案:
curl https://login.apigee.com/resources/scripts/sso-cli/ssocli-bundle.zip -O
- 解壓縮下載的檔案。
- 執行安裝指令碼:
sudo ./install -b /usr/local/bin
-b選項會指定執行檔的位置。如未指定這個選項,安裝指令碼會在/usr/local/bin中安裝公用程式。 - 測試安裝項目:
acurl -hget_token -h如果安裝成功,這些指令會傳回公用程式的說明文字。
權杖到期
acurl 和 get_token 會產生下列時效的權杖:
- 存取權杖會在 12 小時後失效。
- 重新整理權杖的有效期限為 30 天。
因此,只要您使用 acurl 或 get_token 成功發出 API 呼叫,即可在 30 天內繼續使用權杖配對。過期後,您必須重新輸入憑證並取得新權杖。
設定單一登入端點
首次呼叫前,您必須為要搭配 acurl 和 get_token 使用的 Edge API 設定授權伺服器端點。
在終端機中,將 SSO_LOGIN_URL 環境變數設為授權伺服器端點。例如:
- 適用於沒有可用區的 Cloud 客戶:
export SSO_LOGIN_URL=https://login.apigee.com
- 適用於有可用區的 Cloud 客戶:
export SSO_LOGIN_URL=https://zone_name.login.apigee.com
- 如果是私有雲客戶,請向管理員索取適當的 SSO 端點。
使用動態密碼 (SAML 必須使用)
使用 acurl 或 get_token 呼叫 API 時,您必須向公用程式驗證身分,才能取得權杖組合。如要這麼做,請傳遞 Apigee 帳戶的使用者名稱、密碼和 MFA 驗證碼。不過,如果您使用 SAML IDP,或不想使用密碼,可以改用一次性驗證碼。
如何取得動態密碼:
- 在瀏覽器中輸入下列網址:
- 適用於沒有可用區的 Cloud 客戶:
https://login.apigee.com/passcode
- 適用於有可用區的 Cloud 客戶:
https://zone_name.login.apigee.com/passcode
- 如果是私有雲客戶,請向管理員索取適當的 SSO 端點。
- 適用於沒有可用區的 Cloud 客戶:
- 登入 Apigee 帳戶。
- 複製 6 位數的密碼。
- 使用
acurl或get_token,並加上-p選項,然後傳遞密碼,如下列範例所示:get_token -p 1a2b3c
查看權杖
成功執行 acurl 或 get_token 後,公用程式會在 ~/.sso-cli 中建立資料檔案,內含權杖和其他中繼資料。
如要查看權杖,可以使用類似以下的指令:
get_token -v
這項指令會顯示已解碼的權杖聲明,例如:
Decoded token claims: { "jti": "8018507e-9f34-4a90-bf97-ff226a06b19b", "sub": "858217a9-01a1-4111-8525-75ca555f5d5c", "scope": [ "scim.emails.read", "scim.me", "openid", "password.write", "approvals.me", "scim.ids.read", "oauth.approvals" ], "client_id": "edgecli", "cid": "edgecli", "azp": "edgecli", "grant_type": "password", "user_id": "858217a9-01a1-4111-8525-75ca555f5d5c", "origin": "usergrid", "user_name": "myusername@google.com", "email": "myusername@google.com", "auth_time": 1597444772, "al": 0, "rev_sig": "6271c527", "iat": 1597444772, "exp": 1597487972, "iss": "https://login.apigee.com", "zid": "uaa", "aud": [ "edgecli", "scim.emails", "scim", "openid", "password", "approvals", "scim.ids", "oauth" ] } Current timestamp: 1597444983 Existing access token is still valid
(1) 版權所有 2023 Google LLC
acurl 和 get_token 工具以「軟體」形式提供,遵循使用 Google Cloud Platform 相關的管理協議,包含以下《服務專屬條款》:https://cloud.google.com/terms/service-terms。