Private Cloud v4.18.01 專用 Edge
基本驗證是在呼叫 Edge Management API 時進行驗證的一種方式。適用對象 舉例來說,您可以向 Edge Management API 提出以下 cURL 要求,以便存取資訊 您的機構:
> curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
在這個範例中,使用 cURL -u 選項傳送基本驗證憑證。或者,您也可以 可以在 Bearer 標頭中傳遞 OAuth2 權杖,讓 Edge Management API 呼叫。例如:
> curl -H "Authorization: Bearer <access_token>" https://ms_IP_DNS:8080/v1/organizations/orgName
啟用 SAML 後,您可以選擇停用基本驗證。如果您停用基本驗證 採用 Edge 的指令碼 (Maven 指令碼、殼層指令碼、apigeetool 等) 支援基本驗證的 Management API 呼叫已停止運作。您必須更新所有 API 呼叫,並且 使用基本驗證在 Bearer 標頭中傳遞 OAuth2 存取權杖的指令碼。
使用 get_token 取得及更新符記
get_token 公用程式 交換基本驗證憑證和密碼,以獲得 OAuth2 存取權和更新權杖。 get_token 公用程式接受 並輸出有效的存取權杖如果權杖可以重新整理,就會重新整理並 列印出來。如果更新權杖過期,系統會提示使用者憑證。
get_token 公用程式商店 這些符記隨時能使用該指令也會輸出有效的存取權杖至 stdout。 您可以在這裡使用 Postman,也可以將其嵌入環境變數中,以在 curl 中使用。
以下程序說明如何使用 get_token 取得 OAuth2 存取權杖, 發出 Edge Management API 呼叫:
- 下載 sso-cli
套裝組合:
>curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "socli-bundle.zip"
其中 edge_sso_IP_DNS 是機器的 DNS 名稱 IP 位址 負責託管 Edge SSO 模組如果您已在邊緣單一登入 (SSO) 中設定 TLS,請使用 https 和正確的 TLS 通訊埠編號。 - 解壓縮 ssocli-bundle.zip
套裝組合:
>解壓縮 ssocli-bundle.zip - 將 get_token
/usr/local/bin:
>./install 使用 -b 選項來指定 不同位置:>./install -b 路徑 - 設定 SSO_LOGIN_URL
將環境變數連結至您的登入網址,格式如下:
匯出 SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
其中 edge_sso_IP_DNS 是機器的 DNS 名稱 IP 位址 負責託管 Edge SSO 模組如果您已在邊緣單一登入 (SSO) 中設定 TLS,請使用 https 和正確的 TLS 通訊埠編號。 - 在瀏覽器中前往下列網址,取得一次性密碼:
http://edge_sso_IP_DNS:9099/passcode
如果您已在邊緣單一登入 (SSO) 中設定 TLS,請使用 https 和正確的 TLS 通訊埠編號。
注意:如果您目前未登入識別資訊提供者, 會收到登入提示
這個網址會傳回一次性密碼,直到您重新整理該網址來取得 新的密碼,或使用 get_token 產生存取權杖。 - 叫用 get_token 以取得
OAuth2 存取權杖:
>get_token -u emailAddress
其中 emailAddress 是 Edge 使用者的電子郵件地址。你正在 系統會提示您輸入您在步驟 3 取得的一次性密碼:
一次性代碼 ( 取得 https://edge_sso_IP.com/passcode )
如果 SAML 已啟用,請輸入密碼,或按下 Enter 鍵:
輸入密碼。get_token 公用程式會取得 OAuth2 存取權 權杖輸出到畫面上,並將權杖和更新權杖寫入 ~/.sso-cli。
您可以在指令列中使用 get_token 指令輸入密碼,格式如下:
>get_token -u emailAddress -p 通行碼 - 將存取權杖做為 Bearer 標頭傳遞至 Edge Management API 呼叫:
>curl -H「Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
首次取得新的存取權杖後,您可以取得存取權杖 透過單一指令將其傳遞至 API 呼叫,如下所示:
>header=`get_token` && curl -H「Authorization: Bearer $header」 https://ms_IP:8080/v1/o/orgName
使用這個形式的指令時,如果存取權杖已過期,會自動重新整理 直到更新權杖過期為止
更新權杖到期後,get_token 會提示您輸入新的密碼。個人中心 必須前往上方步驟 3 顯示的網址並產生新的密碼,才能開始產生 新的 OAuth 存取權杖
使用 Management API 取得及重新整理 權杖
使用 OAuth2 Apigee Edge Management API 確保安全性包含如何使用 用於取得及更新權杖的 Edge Management API。您也能透過 Edge API 呼叫取得權杖 。
唯一的 API 呼叫不同之處,請參閱「使用 OAuth2 安全性」一節 使用 Apigee Edge Management API:呼叫的網址必須參照您的可用區 名稱。此外,為產生初始存取權杖,您必須加入通行碼,例如 如上述程序步驟 3 所示。
舉例來說,請使用下列 API 呼叫來產生初始存取和更新權杖:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" / -H "accept: application/json;charset=utf-8" / -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST / https://edge_sso_IP_DNS:9099/oauth/token -s / -d 'grant_type=password&response_type=token&passcode=passcode'
如要進行授權,請在 Authorization 標頭中傳送保留的 OAuth2 用戶端憑證。呼叫會輸出 存取及重新整理符記
稍後如要更新存取權杖,請使用下列包含更新權杖的呼叫:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" / -H "Accept: application/json;charset=utf-8" / -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST / https://edge_sso_IP_DNS:9099/oauth/token / -d 'grant_type=refresh_token&refresh_token=refreshToken'