ADのクリーンインストールをインストールしていますFS 3.0がWindows Server 2012にインストールされています。これを使用して内部ネットワークにMFAを作成しようとしています Codeplex 。
AD FS管理>認証ポリシー
Adfsサイト( https://adfs.xx.com/adfs/ls/IdpInitiatedSignon.aspx )にアクセスして、有効な資格情報でログインすると、次のエラーが発生します。
オンサイト
- アクティビティID:00000000-0000-0000-3d00-0080000000e9
- エラー時間:月、2016年2月1日09:04:18 GMT
- Cookie:有効
- ユーザーエージェント文字列:Mozilla/5.0(Windows NT 10.0; WOW64)AppleWebKit/537.36(KHTML、like Gecko)Chrome/48.0.2564.97 Safari/537.36
サーバー上(イベントビューア>アプリケーションおよびサービスログ> AD FS>管理者)
レベル:エラー、ソース:AD FS、イベントID:364、タスクカテゴリ:なし
。
フェデレーションパッシブリクエスト中にエラーが発生しました。
追加データ
プロトコル名:Saml
証明書利用者: http://adfs.xx.com/adfs/services/trust
例外の詳細:System.FormatException:入力文字列の形式が正しくありませんでした。 System.Text.StringBuilder.AppendFormat(IFormatProviderプロバイダー、文字列形式、Object [] args)at System.String.Format(IFormatProviderプロバイダー、文字列形式、Object [] args)atNeos。 IdentityServer.MultiFactor.AuthenticationProvider.IsAvailableForUser(Claim identityClaim、IAuthenticationContext context)at Microsoft.IdentityServer.Web.Authentication.External.ExternalAuthenticationHandler.IsAvailableForUser(Claim identityClaim、IAuthenticationContext AuthContext) .Authentication.External.ExternalAuthenticationHandler.ProcessContext(ProtocolContext context、IAuthenticationContext authContext、IAccountStoreUserData userData)at Microsoft.IdentityServer.Web.Authentication.External.ExternalAuthenticationHandler.Process(ProtocolContext context)at Microsoft.IdentityServer.Web.Authentication.AuthenticationOptionsHandler.Processコンテキスト)Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerCo ntextコンテキスト)
SSL証明書をチェックして問題を解決しようとしました。それらはすべて正しくインストールされています。 pingエラーはありません。私は プロジェクト のコードもチェックしましたが、確認すべき障害もありません。
誰かがこのエラーについて知っているか、正しい方向にプッシュしてくれますか?どんな助けも大歓迎です!
[Update 1]
ログレベルはレベル2です。基本的なエラー。
[Update 2]
Codeplex Issues を参照してください。
[Update 3]
新バージョン バグ修正済み。エラーメッセージが修正されました。
ADFS 2.0に関するMicrosoft TechNetリファレンスでは、イベント364について次のように述べられています。
このイベントは、パッシブリクエストで誤っていることが原因で発生する可能性があります。 SAMLシナリオとWS-フェデレーションシナリオの両方で、シングルサインオン(SSO)またはログアウト中に発生する可能性があります。
新しいバージョンのADFSを使用しているようですが、2012 R2のドキュメントで更新されたリファレンスが見つかりませんでした。しかし、説明はとにかくそれほど役に立ちません。
他のいくつかのソースからの参照は通常、証明書の問題(失効チェック、チェーン内の証明書の欠落)または時間のずれを示しています。
http://www.gfi.com/blog/how-to-resolve-adfs-issues-with-event-id-364/
証明書が正しくインストールされたとのことですが、失効チェックとチェーンの検証を完了できることを再確認することをお勧めします。これを行う最も簡単な方法は、証明書スナップインからサーバー上の証明書を開き、[全般]タブと[証明のパス]タブに警告のエラーがないことを確認することです。
他の認証シナリオで時間のずれの問題が発生しました。すべての時計が一致していることを確認してください。
私が遭遇した別のスレッドは、SPNの問題に言及しました。 ADFS 2012 R2環境をセットアップしたときに、サーバーのFQDNが目的のフェデレーションサービス名(adfs.domain.com)と同じで、ADFSのSPNを登録できなかったため、SPN登録で問題が発生したことを知っています。ホスト名を別のものに変更し、手動でSPNを登録することで、これを修正しました。残念ながら、この問題が原因でイベント364が発生したかどうかは覚えていません。
試してみたかどうかについては触れなかったのですが、MFA拡張機能を使用せずにADFSへの認証をテストしたかどうかは気になります。例外スタックに表示される拡張機能名は、それが問題の一部であることを示しているようですが、そのテストは、ADFS展開の他の側面に関する問題を除外するのに役立ちます。
最後に、上記のいずれも役に立たないようであれば、拡張機能のドキュメントを再確認して、セットアップの手順を見逃していないことを確認します。お役に立てば幸いです。
私はWindows Server 2016でこの問題に直面しましたが、私のセットアップではかなり基本的なことがわかりました。問題は、ページが有効になっていないことです。サインオンしようとすると、エラー364が表示されました。
私の問題への回答へのリンクは https://blogs.technet.Microsoft.com/rmilne/2017/06/20/how-to-enable-idpinitiatedsignon-page-in-ad-fs- 2016 /
Set-AdfsProperties –EnableIdpInitiatedSignonPage $True
Windows Server 2016でも同じ問題が発生しました。MFAプロバイダーがen-US
のみに使用可能なLCID(言語)を定義しているのに、ブラウザーがen
またはen-US
を受け入れられている言語。
ブラウザでen-US
を使用可能な言語として設定すると、一時的に役立ちました。
ただし、MFAプロバイダーを自分で作成したため、AvailableLcids
実装のIAuthenticationAdapterMetadata
の1つとして少なくともCultureInfo.InvariantCulture.LCID
を定義しました。これで問題は解決しました。