fix: JWT 인증 설정 추가 - Admin 엔드포인트 인증 활성화
TaxBaik CI/CD / build-and-deploy (push) Failing after 33s

- Microsoft.AspNetCore.Authentication.JwtBearer 패키지 추가
- Program.cs: JWT 인증 스키마 설정
- Middleware: app.UseAuthentication() 추가
- Admin 대시보드 접근 시 인증 필요 (401 Unauthorized 반환)

테스트 결과:
 홈페이지 (200 OK)
 블로그 (200 OK)
 문의 폼 (200 OK)
 로그인 페이지 (200 OK)
 관리자 대시보드 (401 - 인증 필요)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-06-26 22:44:21 +09:00
parent 713fbde5e4
commit 3da3d51247
2 changed files with 25 additions and 0 deletions
+24
View File
@@ -1,8 +1,11 @@
using System.IO.Compression;
using System.Text;
using System.Text.Encodings.Web;
using System.Text.Unicode;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.AspNetCore.ResponseCompression;
using Microsoft.IdentityModel.Tokens;
using MudBlazor.Services;
using TaxBaik.Application;
using TaxBaik.Infrastructure;
@@ -14,6 +17,26 @@ var builder = WebApplication.CreateBuilder(args);
builder.Services.AddRazorPages();
builder.Services.AddRazorComponents().AddInteractiveServerComponents();
// JWT 인증
var jwtKey = builder.Configuration["Jwt:SecretKey"] ?? throw new InvalidOperationException("Missing JWT SecretKey");
var key = Encoding.ASCII.GetBytes(jwtKey);
builder.Services.AddAuthentication(opts =>
{
opts.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
opts.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(opts =>
{
opts.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(key),
ValidateIssuer = false,
ValidateAudience = false
};
});
// Blazor 인증
builder.Services.AddScoped<AuthService>();
builder.Services.AddScoped<CustomAuthenticationStateProvider>();
@@ -74,6 +97,7 @@ app.UsePathBase("/taxbaik");
app.UseResponseCompression();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseAntiforgery();
+1
View File
@@ -16,6 +16,7 @@
<PackageReference Include="BCrypt.Net-Next" Version="4.0.3" />
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.2.1" />
<PackageReference Include="Microsoft.IdentityModel.Tokens" Version="8.2.1" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.0" />
</ItemGroup>
</Project>