2017-07-19 12 views
3

ControllerBaseクラスは、クラスのオブジェクトを返すChallengeメソッドを持っています。 CookieAuthenticationOptionsクラスはAutomaticChallengeプロパティです。「チャレンジ」という用語は何を表していますか?

ChallengeResultは外部ログインと関係があります。しかし、それは実際にどのように機能しますか? 「チャレンジ」という用語はどこから来たのですか?これの中に何が置かれますか?

答えて

1

ChallengeResultは、実行時に特定の認証ハンドラに挑戦するActionResultです。または、指定されていない場合は、デフォルトのチャレンジハンドラです。 Source code for ChallengeResult

AutomaticChallenge(ASP.NET Core 1.x)は、これがデフォルトのチャレンジハンドラであるという設定です。これは、特に認証スキームが指定されていない場合に呼び出されることを意味します。

チャレンジは、基本的には「私はこのユーザーが誰であるかわからない、自分の身元を確認してください」と言っています。したがって、トリガされた認証ハンドラが、例えば、 Facebookの認証ハンドラは、Facebookの認証ページへのリダイレクトを発行することでチャレンジに反応します。ローカルアカウント認証ハンドラは、ローカルサインインページにリダイレクトすることがあります。

OAuthHandlerのFacebook認証で使用されている(およびMicrosoft認証とGoogle認証)の動作を確認できます。

関連する問題