Basic 認証は、Edge 管理 API を呼び出す際の認証方法の一つです。対象 たとえば、Edge 管理 API に次の cURL リクエストを送信して、情報にアクセスできます。 情報を提供します。
curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
この例では、cURL -u オプションを使用して Basic 認証の認証情報を渡します。または Bearer ヘッダーで OAuth2 トークンを渡して、Edge 管理 API を作成できます。 できます。例:
curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName
SAML を有効にした後、必要に応じて Basic 認証を無効にできます。Basic 認証を無効にした場合、すべての Edge に依存するスクリプト(Maven スクリプト、シェル スクリプト、apigeetool など) Basic 認証をサポートする管理 API 呼び出しは機能しなくなりました。API 呼び出しと API 呼び出しを更新して、 Basic 認証を使用して、Bearer ヘッダーで OAuth2 アクセス トークンを渡すスクリプト
get_token を使用してトークンを取得および更新する
get_token ユーティリティ は、Basic 認証の認証情報とパスコードを、OAuth2 アクセス トークンおよび更新トークンと交換します。「 get_token ユーティリティが 有効なアクセス トークンが出力されます。トークンを更新できる場合は、それも更新し、 印刷します。更新トークンの有効期限が切れると、ユーザー認証情報の入力を求められます。
get_token ユーティリティは、 必要なときにすぐに使用できる状態になっています。また、有効なアクセス トークンを stdout に出力します。 そこから Postman を使用するか、curl で使用するために環境変数に埋め込むことができます。
次の手順では、get_token を使用して OAuth2 アクセス トークンを取得し、 Edge 管理 API 呼び出しを実行します。
- sso-cli をダウンロードする
セット販売:
curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
ここで、edge_sso_IP_DNS はマシンの DNS 名の IP アドレスです。 バックエンドサービスプロバイダを ホストしていますEdge SSO で TLS を構成した場合は、
https
と TLS ポート番号が正しいことを確認します。 ssocli-bundle.zip
バンドルを解凍します。unzip 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 で TLS を構成した場合は、https と正しい TLS ポート番号を使用します。 - ブラウザで次の URL にアクセスして、ワンタイム パスコードを取得します。
http://edge_sso_IP_DNS:9099/passcode
Edge SSO で TLS を構成した場合は、https と正しい TLS ポート番号を使用します。
注: 現在、ID プロバイダによってログインしていない場合は、 ログインするように求められます。
この URL からワンタイム パスコードが返されます。このパスコードは、URL を更新して認証情報を取得するまで有効です。 新しいパスコードを生成するか、get_token でパスコードを使用してアクセス トークンを生成します。 - get_token を呼び出して取得します。
次のトークンを使用します。
>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 passcode - アクセス トークンを Bearer ヘッダーとして Edge Management API 呼び出しに渡します。
>curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
新しいアクセス トークンを初めて取得した後、そのアクセス トークンを取得し、 以下に示すように、1 つのコマンドで API 呼び出しに渡します。
>header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName
この形式のコマンドを使用すると、アクセス トークンが期限切れになると、トークンが自動的に更新されます。 更新トークンが期限切れになるまで表示されます。
更新トークンの有効期限が切れると、get_token によって新しいパスコードの入力を求められます。マイページ 上記のステップ 3 で示した URL にアクセスして新しいパスコードを生成してから、 新しい OAuth アクセス トークン
Management API を使用した取得と更新 トークン
OAuth2 の使用 セキュリティと Apigee Edge 管理 API を使用するでは、Apigee Edge 管理 API トークンを取得および更新する Edge Management API。また、Edge API 呼び出しを使用して、トークンや SAML アサーションによって生成されます。
API 呼び出しの違いは、OAuth2 セキュリティの使用 呼び出しの URL がゾーンを参照する必要がある点です。 表示されます。さらに、初期アクセス トークンを生成するには、次のようにパスコードを含める必要があります。 ステップ 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'
認可のため、予約済みの OAuth2 クライアント認証情報を Authorization ヘッダーで渡します。この呼び出しにより、 更新トークンを画面に表示できます。
後でアクセス トークンを更新するには、更新トークンを含む次の呼び出しを使用します。
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'