您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件。 資訊
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 提供包含 acurl
(1)、get_token
(1) 和安裝指令碼的 ZIP 檔案。
如何安裝 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 -h
get_token -h
如果安裝成功,這些指令會傳回公用程式的說明文字。
權杖到期
acurl
和 get_token
會產生下列時間長度的權杖:
- 存取權杖會在 12 小時後失效。
- 重新整理權杖會在 30 天後失效。
因此,使用 acurl
或 get_token
成功發出 API 呼叫後,您就可以在 30 天內繼續使用權杖組合。到期後,您必須重新輸入憑證並取得新權杖。
設定單一登入 (SSO) 端點
第一次呼叫之前,您必須先為要與 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 位數密碼。
- 搭配
-p
選項使用acurl
或get_token
,並傳遞密碼,如以下範例所示: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) Copyright 2023 Google LLC
acurl
和 get_token
工具以「軟體」形式提供,遵循 Google Cloud Platform 使用規範的協議,包括《服務專屬條款》,列載於 https://cloud.google.com/terms/service-terms。