ControllerBase
クラスは、クラスのオブジェクトを返すChallenge
メソッドを持っています。 CookieAuthenticationOptions
クラスはAutomaticChallenge
プロパティです。「チャレンジ」という用語は何を表していますか?
ChallengeResult
は外部ログインと関係があります。しかし、それは実際にどのように機能しますか? 「チャレンジ」という用語はどこから来たのですか?これの中に何が置かれますか?
ControllerBase
クラスは、クラスのオブジェクトを返すChallenge
メソッドを持っています。 CookieAuthenticationOptions
クラスはAutomaticChallenge
プロパティです。「チャレンジ」という用語は何を表していますか?
ChallengeResult
は外部ログインと関係があります。しかし、それは実際にどのように機能しますか? 「チャレンジ」という用語はどこから来たのですか?これの中に何が置かれますか?
ChallengeResult
は、実行時に特定の認証ハンドラに挑戦するActionResult
です。または、指定されていない場合は、デフォルトのチャレンジハンドラです。 Source code for ChallengeResult
AutomaticChallenge
(ASP.NET Core 1.x)は、これがデフォルトのチャレンジハンドラであるという設定です。これは、特に認証スキームが指定されていない場合に呼び出されることを意味します。
チャレンジは、基本的には「私はこのユーザーが誰であるかわからない、自分の身元を確認してください」と言っています。したがって、トリガされた認証ハンドラが、例えば、 Facebookの認証ハンドラは、Facebookの認証ページへのリダイレクトを発行することでチャレンジに反応します。ローカルアカウント認証ハンドラは、ローカルサインインページにリダイレクトすることがあります。
OAuthHandlerのFacebook認証で使用されている(およびMicrosoft認証とGoogle認証)の動作を確認できます。