以下の参照に従って、Azure AD を使用して Web サイトに認証を実装しようとしています。私たちのウェブサイトは、IIS でホストされている以下のスタック ASP.NET、MVC5 を使用しています。基本的に、Web サイトの認証には OpenId Connect プロトコルを使用し、委任アクセスには oAuth2.0 プロトコルを使用して、認可用のトークンを使用します。
https://github.com/AzureADSamples/WebApp-WebAPI-OpenIDConnect-DotNet
Azure AD ロジックからのトークンの取得は、OwinStartup クラスから呼び出される Startup.Auth.cs クラスにあります。
これを私たちのサイトに実装すると、Startup.Auth.cs ConfigureAuth は、APP の起動時に上記の参照に従って 1 回だけ実行されます。
[Authorize] でコントローラ クラスをデコレートするか、要求が認証されているかどうかを確認して SignIn() を追加し、Authenticate コードを再度呼び出します。
public void SignIn()
{
// Send an OpenID Connect sign-in request.
if (!Request.IsAuthenticated)
{
HttpContext.GetOwinContext().Authentication.Challenge(new AuthenticationProperties { RedirectUri = "/" }, OpenIdConnectAuthenticationDefaults.AuthenticationType);
}
}
問題は、SignIn() メソッドがアプリケーションで取得されず、[Authorize] 属性が何をするのか知りたいということです。
これらに関する洞察をいただければ幸いです。よろしくお願いします。