ユーザーコンテキスト付きサービスの認証呼び出しの送信

呼び出し元アプリケーションが、ユーザーコンテキスト付きサービスのためにシステム API 呼び出しを実行する場合、呼び出し元アプリケーションは以下のように実行する必要があります。
  1. Guidewire Hub に JWT を要求する
  2. システム API 呼び出しとともに JWT(および GW-User-Context ヘッダー)を含める

Guidewire Hub にコードと JWT を要求する

Guidewire Hub に JWT を要求する方法の詳細については、Guidewire Cloud Platform ドキュメントセットの『Authentication with Guidewire Identity Federation Hub(Guidewire Identity Federation Hub での認証)』を参照してください。

API 呼び出しに JWT を含める

Guidewire Hub から JWT を受信したら、要求オブジェクトの承認ヘッダーで ClaimCenter に送信する必要があります。ヘッダーは以下の形式を使用する必要があります。

Authorization: Bearer <token>
注: cc.allowusercontext トークンクレーム付きの JWT が呼び出しに含まれている場合、要求オブジェクトのヘッダーにユーザーコンテキストヘッダーが含まれていないと、Cloud API では呼び出しを、スタンドアロン型サービスからのものであるかのように扱います。つまり、サービスに提供されるアクセス権のみに呼び出しは制限されます。ユーザーベースの制限は適用されません。ユーザーを指定するユーザーコンテキストヘッダーがないからです。

認証エラーのエラーメッセージ

要素を返すエンドポイントについては、特定のリソースが存在している場合にアクセス権限がユーザーにないと、Cloud API で以下のユーザーメッセージをスローします。これは、リソースが存在しない場合に返されるものと同じメッセージです。

"status": 404,
        "errorCode": "gw.api.rest.exceptions.NotFoundException",
        "userMessage": "No resource was found at path <path>"

コレクションを返すエンドポイントについては、すべてのリソースが条件に一致しておりユーザーが十分なリソースアクセス権を持っている場合、Cloud API ですべてのリソースを返します。リソースが存在している場合にユーザーが十分な権限を持っていないと、Cloud API は結果から除外します。

前述の手法は安全であると扱われますが、その理由としては、アクセス権限がないデータの存在を悪意のある呼び出し元が確認できないからです。