私の質問はこれを与えられて、ユーザー認証のは、DBにログインするための最良の方法は何ですか?私はエンドポイントへのリダイレクトURLを保存し、保存してから "ホーム"にリダイレクトすることを考えましたが、それは理想的ですか?
この方法では、すでにアプリにログインしているユーザーだけをログに記録できます。アプリにサインインしようとしているユーザーにはログインできませんが、間違ったパスワードを入力することはできません。
AzureのADがすでに
(hereを参照してください)。組織のディレクトリの完全性とセキュリティに可視性を得るためにレポートの多くを提供し、あなたはAzureのADプレミアムを使用している場合、あなたはサインイン活動を確認することができます
以下
Azure new portal経由:
そして、あなたはあなたのウェブアプリでサインインアクティビティを保存したい場合は、トークンが確認された後は、カスタムコードを書くことができます。
また
// Configure the OWIN pipeline to use OpenID Connect auth.
app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions
{
ClientId = Configuration["AzureAD:ClientId"],
Authority = String.Format(Configuration["AzureAd:AadInstance"], Configuration["AzureAd:Tenant"]),
ResponseType = OpenIdConnectResponseType.IdToken,
PostLogoutRedirectUri = Configuration["AzureAd:PostLogoutRedirectUri"],
Events = new OpenIdConnectEvents
{
OnRemoteFailure = OnAuthenticationFailed,
OnTokenValidated = context => {
//write the custom code to store users login-in
return Task.FromResult(0); }
},
});
、それはこのアプローチを経由してベアラ・トークンを取得することが可能である:ここではあなたの参照のためのコードはありますか?
はい。認証コードを受け取った後にトークンを取得できます。コードサンプルhereを参照して、asp.netコアアプリケーションからトークンを取得することができます。
お返事ありがとうございます。 OnTokenValidatedコードはStartup.csにあります。どのようにそれが理想的な場所にDBを打つことがわからない – aherrick
ユーザーが正しいユーザー名/パスワードを入力した後、認証フローがユーザーによって開始されます。Azure ADはid_tokenでWebアプリケーションにページをリダイレクトします。次に、OWINコンポーネントはid_tokenに基づいてユーザー情報を検証しようとします。そして、トークンが検証された後、 'OnTokenValidated'が起動します。コードがどこのクラスにあるかは関係ありません。 –
これはASP.Net Core 2.0でもまだ可能ですか? APIがかなり変更されました。 – zuckerthoben