개발이야기/AspNet&C#

IdentityServer 학습 #2

Roslyn 2024. 3. 7. 11:06
반응형

(1) IdentityServer가 추가되어있는 솔루션에 새로운 API 프로젝트를 추가해 줍니다.

dotent new webapi -n {프로젝트명} --no-openapi

 

(2) 해당 프로젝트를 솔루션에 추가해 줍니다.

dotnet sln add ./src/{프로젝트폴더}

 

(3) Microsoft.AspNetCore.Authentication.JwtBearer 라이브러리를 Nuget에서 설치해 줍니다.

dotnet add ./{프로젝트폴더} package Microsoft.AspNetCore.Authentication.JwtBearer

 

(4) 추가한 프로젝트의 Program.cs 를 다음과 같이 수정합니다.

using System.Security.Claims;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddAuthentication()
	.AddJwtBearer(options =>
	{
		options.Authority = "https://localhost:5001";
		options.TokenValidationParameters.ValidateAudience = false;
	});
builder.Services.AddAuthorization();


var app = builder.Build();
app.UseHttpsRedirection();

app.MapGet("identity", (ClaimsPrincipal user) => user.Claims.Select(c => new { c.Type, c.Value }))
	.RequireAuthorization();

app.Run();

 

(5) 이제 웹브라우저로 실행해서 https://localhost:6001/identity 로 접속하면 401 권한 없음 오류가 뜨는 것을 확인할 수 있습니다.

 

 

 

 

반응형