以下に、簡単でシンプルな方法でASP.NET CoreでJWT Bearer認証を実装する手順を示します。
-
NuGetパッケージのインストール:
Microsoft.AspNetCore.Authentication.JwtBearer
パッケージをプロジェクトに追加します。 -
Startup.cs
ファイルのConfigureServices
メソッドで、JWT Bearer認証を有効にします。
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.IdentityModel.Tokens;
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true, // トークンの発行元を検証するかどうか
ValidateAudience = true, // トークンの受け取り先を検証するかどうか
ValidateLifetime = true, // トークンの有効期限を検証するかどうか
ValidateIssuerSigningKey = true, // トークンの署名を検証するかどうか
ValidIssuer = "your_issuer", // トークンの発行元
ValidAudience = "your_audience", // トークンの受け取り先
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("your_secret_key")) // トークンの署名キー
};
});
// その他のサービスの設定
}
Startup.cs
ファイルのConfigure
メソッドで、認証を使用するように設定します。
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ...
app.UseAuthentication();
app.UseAuthorization();
// ...
}
- プロテクトされたリソースにアクセスするために、
[Authorize]
属性をアクションやコントローラに追加します。
[ApiController]
[Route("api/[controller]")]
public class MyController : ControllerBase
{
[HttpGet]
[Authorize]
public IActionResult Get()
{
// 認証が成功した場合の処理
}
}
以上の手順を実装することで、ASP.NET CoreでJWT Bearer認証を利用することができます。この方法を使用すると、セキュリティの高い認証メカニズムを簡単に実装できます。