ASP . NET認証を追加します.NETコアMVCアプリケーション
11297 ワード
あなたのASPに認証を加える方法を学んでください.NETコアMVCアプリケーション.
ASP .NETコアMVCはWebアプリケーションを構築するための一般的なフレームワークです.ネット有名に使うModel-View-Controller design pattern , これは、アプリケーションのUIの懸念の分離を達成するのに役立ちます.この記事では、ASP . NETで認証を統合する方法を学びます.NETコアMVCアプリケーション.NETコア認証SDK .
サンプルアプリケーション
認証を追加するには、既存のASPを使用します.NET Core MVCアプリケーション.
必要条件
開始する前に、確認してください.NET 6 SDK あなたのマシンにインストールされます.実際には、変更するアプリケーションは、C≧10のいくつかの機能を使用します.得るa quick overview of what's new with .NET 6, check out this article .
また、この記事は.NET CLIアプリケーションを構築して実行するには、Visual Studio 2022を使用することができます.
サンプルアプリケーションの取得と実行
ターミナルウィンドウで次のコマンドを実行してサンプルアプリケーションを取得できます.
git clone -b starter --single-branch https://github.com/auth0-blog/acme-aspnet-mvc.git
したら、それをダウンロードして移動するacme-aspnet-mvc
次のコマンドを入力してアプリケーションを起動しますdotnet watch
このコマンドはサンプルアプリケーションを実行し、コードへの変更を待機します.アプリケーションコードを変更すると、自動的に再構築されます.Note that some specific changes to your code, known as rude edits, may require restarting your application. Read this to learn more.
さて、ブラウザをポイント
https://localhost:7095
. 次のページを取得します.これは架空の会社のホームページですACME Corporation .
ヘッダーのカタログリンクをクリックすると、次のように表示されます.
実際、今すぐ購入!ボタンが動きません.このページは、ユーザーが保護されることを期待しているページのプレースホルダです.言い換えると、認証されたユーザーだけがカタログページにアクセスする必要があります.これは次のいくつかのセクションで実装するものです.
Auth 0で登録する
変更を加える前に、アプリケーションをAuth 0で登録する必要があります.もちろん、Auth 0アカウントが必要です.あなたがまだそれを持っていないならば、あなたはそうすることができますsign up for a free one .
ダッシュボードに移動しますApplications section 次の手順に従います.
アプリケーションが作成された後、[設定]タブに移動し、あなたのAuth 0ドメインとクライアントIDの注意を取ります
https://localhost:7095/callback
を返します.https://localhost:7095/
を返します.最初の値は、ユーザ認証後にコールするURLを指定します.2番目の値は、ユーザが自分のログアウト後にどのURLをリダイレクトするかを指定します.
ボタンをクリックして適用します.
さて、サンプルアプリケーションプロジェクトのルートフォルダに戻ると、
appsettings.json
設定ファイルを置き換えます.// appsettings.json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"Auth0": {
"Domain": "YOUR_DOMAIN",
"ClientId": "YOUR_CLIENT_ID"
}
}
プレースホルダを置き換えるYOUR_DOMAIN
and YOUR_CLIENT_ID
それぞれの値をAuth 0ダッシュボードから取得します.認証の追加
この時点で、アプリケーションをAuthor 0に接続するための基本設定が適切です.認証を追加するには、アプリケーションにいくつかの変更を適用し、それらの設定を使用する必要があります.一度に一歩一歩しましょう.
SDKをインストールする
最初のステップとしてインストールAuth0 ASP.NET Core Authentication SDK 次のコマンドをターミナルウィンドウで実行します.
dotnet add package Auth0.AspNetCore.Authentication
AOR 0 ASPネットコアSDKを簡単に統合することができますOpenID Connect -すべての低レベルの詳細を扱うことなく、あなたのアプリケーションの認証.あなたがもう少し学びたいならば、このブログ柱はあなたを提供しますan overview of the Auth0 ASP.NET Core SDK .
認証の設定
さて、認証をサポートするアプリケーションコードを変更しましょう.開ける
Program.cs
ファイルを次のように変更します.// Program.cs
using Auth0.AspNetCore.Authentication; // 👈 new code
var builder = WebApplication.CreateBuilder(args);
// 👇 new code
builder.Services
.AddAuth0WebAppAuthentication(options => {
options.Domain = builder.Configuration["Auth0:Domain"];
options.ClientId = builder.Configuration["Auth0:ClientId"];
});
// 👆 new code
// Add services to the container.
builder.Services.AddControllersWithViews();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication(); // 👈 new code
app.UseAuthorization();
app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
app.Run();
強調表示されたコードに従って、Auth0.AspNetCore.Authentication
ファイルの先頭の名前空間.それから、あなたはAddAuth0WebAppAuthentication()
メソッドとしてAuth 0ドメインとクライアントIDを指定します.最後に、あなたはUseAuthentication()
認証ミドルウェアを有効にする方法これらの変更は、Auth 0経由で認証をサポートするための基礎となる.
Read more...
Reference
この問題について(ASP . NET認証を追加します.NETコアMVCアプリケーション), 我々は、より多くの情報をここで見つけました https://dev.to/robertinoc_dev/add-authentication-to-your-aspnet-core-mvc-application-1pdfテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol