AD FS を使用してアプリケーションにアクセスするとパッシブフェデレーション要求が失敗し、以前に AD FS を使用してMicrosoft Dynamics CRMに接続した後にフォーム認証が失敗する

適用先
Dynamics CRM 2013 Microsoft Dynamics CRM 2013 Service Pack 1 Dynamics CRM 2015

現象

要求ベースの認証を使用してMicrosoft Dynamics CRMに以前に接続した後、AD FS とフォーム認証を使用する SharePoint などのアプリケーションにアクセスすると、パッシブフェデレーション要求が失敗する

次のエラーで失敗します。

フェデレーションパッシブ要求中にエラーが発生しました。
追加のデータ
プロトコル名:
利用者:
例外の詳細:
Microsoft.IdentityServer.RequestFailedException: MSIS7065: 受信要求を処理するパス /adfs/ls/ に登録されたプロトコル ハンドラーはありません。
at Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context)

サインアウト シナリオ:
[トークンの有効期限が切れる 20 分前] ダイアログが表示され、[サインイン] または [キャンセル] オプションが表示されます。 [サインイン] をクリックしても、ユーザー名とパスワードの入力を求める ADFS サインイン ページにリダイレクトされません。 代わりに、サインアウト ADFS ページが表示されます。 参照 - クレーム ベースの認証とセキュリティ トークンの有効期限。

c971e483-3aa4-9c63-427b-8a64639ed93d

原因

この問題は、AD FS 名前空間を持つドメイン Cookie としてMicrosoft Dynamics CRMによって発行された MSISAuth Cookie の重複が原因で発生します。 この Cookie 名は一意ではなく、SharePoint などの別のアプリケーションにアクセスすると、重複する Cookie が表示されます。 これにより、認証が失敗します。

サインアウト シナリオは、ドメイン Cookie としてMicrosoft Dynamics CRMによって発行されたサインアウト Cookie によって発生します。次の例を参照してください。 この Cookie はドメイン Cookie であり、ADFS に提示されると、*.contoso.com/ などのドメイン全体について考慮されます。 これにより、再認証フローが失敗し、ADFS によって [サインアウト] ページが表示されます。

Set-Cookie: MSISSignOut=;domain=contoso.com。path=/;安全;HttpOnly

解決策

この問題を解決するには、crm.domain.com などのサブドメイン値を使用してMicrosoft Dynamics CRMを構成する必要があります。 これには、*.crm.domain.com などの別の野生のカード証明書が必要になります。

これらの変更を実行した後、次に示すように、正しいエンドポイントを使用して要求ベースの認証と IFD を再構成する必要があります。

  1. auth.<サブドメイン>.domain.com
  2. dev.<サブドメイン>.domain.com
  3. org.<サブドメイン>.domain.com

      

追加情報

Microsoft Dynamics CRMの要求ベース認証と IFD の構成の詳細については、次のリンクを参照してください。

Microsoft Dynamics CRM Server の要求ベースの認証の構成