Web サービスの認証

Silk Central のデータは、未許可のアクセスから保護されています。データ アクセスの許可の前に、まずログイン認証が提供されなければなりません。これは、HTML フロントエンドで作業するときだけでなく、SOAP 呼び出しや REST API 呼び出しを介して Silk Central と通信するときにも当てはまります。

データに対してクエリをかけたり、Silk Central に対して設定変更を適用する際にも、まず最初の手順は認証です。認証が成功したら、ユーザー セッションが作成され、そのユーザー ログインのコンテキスト内で、以降のオペレーションを実行できるようになります。

Web ブラウザを介して Silk Central へアクセスしている場合には、セッション情報はユーザーに対して表示されません。ブラウザがクッキーを使用して、セッション情報をハンドリングします。HTML を介して Silk Central を使用している場合に比べ、SOAP 呼び出しはセッション情報を手動で処理する必要があります。

Micro Focus では、Web サービス トークンを使った認証を推奨しています。Web サービス トークンは、Silk Central UI の ユーザー設定 ページから生成できます。このページにアクセスするには、Silk Central メニューに表示されているユーザー名にマウス カーソルを移動し、ユーザー設定 を選択します。

また、logonUser SOAP 呼び出しや login REST API 呼び出しを使って認証することもできます。このメソッド呼び出しはセッション ID を返します。このセッション ID は、サーバー上に作成されたセッションを参照していると共に、そのセッションのコンテキスト内で Silk Central へアクセスするためのキーとしても使用されます。

実行に Web サービス トークンやセッション ID が必要なそれ以降の各 API 呼び出しは、いずれかをパラメータの 1 つに取り、その妥当性をチェックし、そのセッションのコンテキスト内で実行します。

Web サービスを介して作成された Silk Central セッションは、明示的に終了させることはできません。代わりにセッションは、一定時間使用されないと、自動的に終了されます。サーバー上でセッションがタイムアウトするとすぐに、そのセッションを使用しようとするそれ以降の SOAP 呼び出しは例外を投げるようになります。

デモ クライアントは、Silk Central のメニューの ヘルプ > ツール > Web サービス デモ クライアント ダウンロードできます。このデモ プロジェクトは Silk Centraltests Web サービスを利用しており、ユーザーが Web サービス インターフェイスに慣れるのに役立ちます。

使用例

次の Java コードは、Silk Central UI から Web サービス トークンを生成した場合に、Web サービス トークンを使って Web サービスから Silk Central へアクセスするサンプルです。
string webServiceToken = "e39a0b5b-45db-42db-84b2-b85028d954d5";
Project[] projects = sccentities.getProjects(webServiceToken);
次の Java コードは、セッション ID を使って Web サービスから Silk Central へ同じようにアクセスするサンプルです。
long sessionID = systemService.logonUser("admin", "admin");
Project[] projects = sccentities.getProjects(sessionID);