認証
このセクションでは、ALM Octane REST APIおよびODataを使用する場合の認証、サインイン、およびサインアウトについて説明します。
概要
次の方法を使用してサインインできます。
JSON認証
JSON認証はsign_inリソースを使用します。
このリソースは、将来のリクエストに必要な認証Cookieを設定します。
基本認証
ALM OctaneREST APIおよびODataには基本認証を使用できます。
基本認証を使用してALM Octaneクライアントにアクセスすることはできません。
基本認証の結果は2分間キャッシュされます。後続のリクエストは、キャッシュに対して検証されます。キャッシュ期間は、BASIC_AUTHENTICATION_CACHE_TTL_SECONDSサイトパラメーターによって構成できます。
Octane認証のためのインタラクティブな統合
インタラクティブなトークン共有認証には、tokensAPIを使用します。これは、Intelijなどの対話型ツールからオンプレミスSSOログインまたはSaaSのフェデレーションとALM Octaneにアクセスするために特に有用です。
トークン共有認証は、2つのREST呼び出しとユーザー対話型認証を使用します。
- ステップ1: 統合ツールはREST呼び出しを送信して、識別子と認証URLを生成します。
- ステップ2: エンドユーザーはブラウザに認証URLを入力し、通常の認証を実行します。その後、ブラウザを閉じることができます。
- ステップ3: 統合ツールは、2番目のREST呼び出しを使用してOctaneをポーリングし、認証プロセスで受信したトークンを抽出します (ステップ2)。統合ツールは、トークンを使用してOctaneにアクセスします。
統合ツールは、次の内容のリクエストを送信します。
注: 応答のauthentication_urlが誤ったホストを指している場合は、SERVER_BASE_URLサイトパラメーターを検証します。
このエンドユーザーは、上記で取得したURLを使用してブラウザ経由でログインします。
ステップ1で応答として受け取った上記のURLを使用して、ブラウザを開きます。ブラウザは、クレデンシャルを入力するように要求します。認証後、ブラウザはブラウザを閉じることができることを示すメッセージを発行します。
ステップ3 - トークンを抽出する
統合ツールは、2番目のRESTリクエストでOctaneをポーリングします。このリクエストは、次のコンテンツを使用して、ブラウザ認証で受信したトークンを抽出します。
idの場合、ステップ1で応答として受信した識別子の値を使用します。
ユーザー名の場合、ステップ2でブラウザで認証するときに使用したのと同じユーザー名を入力します。SSO認証の場合は、IDPからSAMLアサーションで送信されたものと同じユーザー名を指定します。安全な環境を維持するには、同じユーザー名を使用することが不可欠です。
注: デフォルトでは、ユーザー名では大文字と小文字が区別されます。大文字と小文字を区別しないように変更するには、サイトパラメーターCASE_INSENSITIVE_USER_NAME_IN_INTERACTIVE_AUTHENTICATIONをtrueに設定します。
注: アクセストークンは、ツールによって取得されるまでOctaneに保存されます。3分 (180秒) 以内に取得されない場合、IDはタイムアウトになり、関連するトークンとともに削除されます。タイムアウトを変更するには、サイトパラメーターの値TOOLS_ACCESS_TOKEN_STORAGE_TTL_SECONDSを変更して、再起動を実行します。
認証Cookie
認証Cookieは、認証トークンを保存するために使用されます。
access_tokenCookieはSSO認証に使用され、LWSSO_COOKIE_KEYは他のすべての認証タイプに使用されます。
認証が成功すると、LWSSO_COOKIE_KEYCookieが応答に設定されます。
後続の各リクエストでこのCookieを送信します。
Cookieのタイムアウトは3時間です。
LWSSO_COOKIE_KEYCookieを更新する
3時間のタイムアウト期間が経過した後、Cookieを再送信することでタイムアウトを延長できます。Set-Cookie」ヘッダーを使用して、前の応答でサーバーから受信したすべてのCookieを送り返します。詳細については、Cookieの再送信を参照してください。
サーバーから受信した再送されたCookieを常に使用している場合は、元の認証後24時間タイムアウトを延長し続けることができます。
24時間後、Cookieの有効期限が切れ、リクエストに応じて401エラーが発行されます。この場合、続行するには再認証してください。
SSO認証が成功すると、access_token認証Cookieが応答に設定されます。
access_tokenCookieを更新する
access_tokenCookieは更新できません。デフォルトのタイムアウトは3時間です。この期間が過ぎると、新しい認証が必要になります。タイムアウトは、サイト設定の変更の説明に従って、sso.oauth.authentication.timeout.secondsパラメーターを変更することで変更できます。
サインアウト
sign_outリソースは、ユーザーをセッションからログオフし、認証Cookieをキャンセル (期限切れ) します。
このリソースは、すべての認証方法に使用できます。
URI |
|
サポートされているHTTPメソッド | POST |
例
POST http[s]://<server>:<port>/authentication/sign_out
HTTP/1.1 200 OK
Set-Cookie: LWSSO_COOKIE_KEY="";Version=1;Path=/;Expires=Thu, 01-Jan-1970 00:00:00 GMT;Max-Age=0 Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-cache, max-age=0 Pragma: no-cache
Content-Length: 0
Server: Jetty(9.1.3.v20140225)
参照情報: