Webサービスフェデレーションプロトコル

Webサービスフェデレーション(WS-FederationまたはWS-Fed)はより大きなWS-Securityの一部で、WS-Trustの機能性を拡張したものです。WS-Federationの機能は、SOAPアプリケーションやWebサービスに直接使用することができます。WS-Fedプロトコルは、トークンの発行を交渉するのに使用することができますこのプロトコルは、アプリケーション(Windows Identity Foundationを用いたアプリなど)やIDプロバイダー(Active DirectoryフェデレーションサービスやAzure AppFabricアクセスコントロールサービスなど)に使用することができます

アプリケーションの場合

Auth0でアプリケーションを登録すると、以下の形式でWS-Fedエンドポイントが自動的に割り当てられます。

https://{yourDomain}/wsfed/{yourClientId}

WS-Fedを構成するために利用可能なすべてのオプションは、アプリケーションの詳細設定領域にあります。

証明書利用者を構成する必要があります。これは、次のメタデータエンドポイントを使用して実行できます。

https://{yourDomain}/wsfed/FederationMetadata/2007-06/FederationMetadata.xml

ルールで使用可能なsamlConfigurationオブジェクトを使用して、トークン経由で送信されるクレームや、その他の下位レベルのWS-FedおよびSAML-P設定を構成することもできます。

ユーザーをWS-Fedエンドポイントにリダイレクトする際には、以下のパラメーター(任意)を使用することができます。

パラメーター 説明
wa=wsignin1.0 Auth0が証明書利用者にトークンを発行するべきかどうか(デフォルト)
wa=wsignout1.0 Auth0がユーザーセッションをクリア/ユーザーをログアウトするべきかどうか
wreply={callback_URL} 応答をどこに送信するべきか
wctx={state} アプリケーションの状態
whr={connection_name} 使用する接続(ユーザーがAuth0ログインページをスキップできる)
wfresh=0 セッションが設定されている場合でも、ユーザーを再認証する必要があるかどうか(0の場合は再認証が必要)

たとえば、任意のパラメーターを使ったURLは以下のようになります。

https://{yourDomain}/wsfed/{yourClientId}?whr=google-oauth2

IDプロバイダー

WS-Fedプロトコル(Active Directoryフェデレーションサービス、Azure AppFabricアクセスコントロールサービス、IdentityServerなど)を用いたIDプロバイダーをAuth0で使用するには、DashboardでADFS接続タイプを作成して使用すると、統合を最も簡単にセットアップできます。これを行うには次の2つの方法があります。

  • フェデレーションメタデータファイルをインポートする

  • フェデレーションメタデータエンドポイントを有効にして変更を確認する

フェデレーションメタデータファイルをインポートする

ADFSを用いた接続をセットアップするには、Auth0にフェデレーションメタデータエンドポイントを提供するか、フェデレーションメタデータファイルをインポートしてからアップロードして、必要なパラメーターをインポートすることができます。

プロトコル WS-Fed フェデレーションメタデータファイルのインポート ADFS接続画面

統合の構成を完了するのに必要な手順が表示されます。

フェデレーションメタデータエンドポイントを有効にする

フェデレーションメタデータファイルには、IDプロバイダーの証明書に関する情報が含まれます。フェデレーションメタデータエンドポイント(通常は末尾が/FederationMetadata/2007-06/FederationMetadata.xmlの形式)を提供すると、Auth0はロールオーバーの準備として追加された新しい署名証明書の追加など、構成の変更を毎日確認できます。そのため、スタンドアロンのメタデータファイルを提供するよりも、フェデレーションメタデータエンドポイントを有効にする方が効率的になります。スタンドアロンメタデータファイルを提供した場合は、証明書の有効期限が近づくと通知のメールが届きます。

フェデレーションメタデータにプライマリ証明書とセカンダリ証明書の両方が含まれている場合には、Auth0でその両方を使用することができます。

フェデレーションメタデータエンドポイントを使って証明書をロールオーバーするには、以下を行います。

  1. 新しい証明書を生成して、ADFS環境のセカンダリ証明書として追加します。これは、アクティブなプライマリ証明書の有効期限の少なくとも2日前までに行う必要があります。

  2. Auth0がフェデレーションメタデータエンドポイントから新しい証明書を取得できるようにします。Auth0は毎日1回エンドポイントを確認するため、Auth0がこの手順を完了するのに十分な時間を確保します。または、AAuth0 Dashboardにログインし、適切なADFS接続に移動して[Save(保存)]をクリックして、この手順を手動で完了することもできます。そうすると、即座にAuth0が証明書をダウンロードします。

  3. 現行のプライマリ証明書がADFS環境で期限切れになる前に、現在セカンダリ証明書であるものをプライマリ証明書として設定します。

もっと詳しく