From 00ef8d024298324cc277a43b4fab04719b0e5c84 Mon Sep 17 00:00:00 2001 From: Kun Deng Date: Sun, 4 Sep 2022 18:56:56 -0400 Subject: [PATCH] Added JWT bearer authentication --- Startup.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Startup.cs b/Startup.cs index 6dea1e4..af349a3 100644 --- a/Startup.cs +++ b/Startup.cs @@ -1,5 +1,7 @@ using System; +using System.Text; +using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; @@ -72,6 +74,20 @@ namespace Icarus var connString = Configuration.GetConnectionString("DefaultConnection"); + services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options => + { + options.RequireHttpsMetadata = false; + options.SaveToken = true; + options.TokenValidationParameters = new TokenValidationParameters() + { + ValidateIssuer = true, + ValidateAudience = true, + ValidAudience = Configuration["JWT:Audience"], + ValidIssuer = Configuration["JWT:Issuer"], + IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Configuration["JWT:Secret"])) + }; + }); + services.AddDbContext(options => options.UseMySQL(connString)); services.AddDbContext(options => options.UseMySQL(connString)); services.AddDbContext(options => options.UseMySQL(connString));