現象
要求ベースの認証を使用してMicrosoft Dynamics CRMに以前に接続した後、AD FS とフォーム認証を使用する SharePoint などのアプリケーションにアクセスすると、パッシブフェデレーション要求が失敗する
次のエラーで失敗します。
フェデレーションパッシブ要求中にエラーが発生しました。
追加のデータ
プロトコル名:
利用者:
例外の詳細:
Microsoft.IdentityServer.RequestFailedException: MSIS7065: 受信要求を処理するパス /adfs/ls/ に登録されたプロトコル ハンドラーはありません。
at Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context)
サインアウト シナリオ:
[トークンの有効期限が切れる 20 分前] ダイアログが表示され、[サインイン] または [キャンセル] オプションが表示されます。 [サインイン] をクリックしても、ユーザー名とパスワードの入力を求める ADFS サインイン ページにリダイレクトされません。 代わりに、サインアウト ADFS ページが表示されます。 参照 - クレーム ベースの認証とセキュリティ トークンの有効期限。
原因
この問題は、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 を再構成する必要があります。
- auth.<サブドメイン>.domain.com
- dev.<サブドメイン>.domain.com
- org.<サブドメイン>.domain.com
追加情報
Microsoft Dynamics CRMの要求ベース認証と IFD の構成の詳細については、次のリンクを参照してください。