스택큐힙리스트

여러 개의 JWT Bearer 인증을 사용합니다. 본문

카테고리 없음

여러 개의 JWT Bearer 인증을 사용합니다.

스택큐힙리스트 2023. 12. 6. 18:45
반응형

ASP.NET Core 2에서 여러 개의 JWT 토큰 발급자를 지원할 수 있는지 가능한가요?
외부 서비스를 위한 API를 제공하려고 하는데 Firebase와 사용자 정의 JWT 토큰 발급자 두 가지 소스의 JWT 토큰을 사용해야 합니다. ASP.NET Core에서 Bearer 인증 체계를 위해 JWT 인증을 설정할 수 있는데, 하나의 Authority에 대해서만 가능합니다:


  services
.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.Authority = https://securetoken.google.com/my-firebase-project
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = my-firebase-project
ValidateAudience = true,
ValidAudience = my-firebase-project
ValidateLifetime = true
};
}

저는 여러 발급자와 청중이 가능하지만, 여러 권한을 설정할 수는 없습니다.

답변 1

// 인증
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.Audience = https://localhost:5000/;
options.Authority = https://localhost:5000/identity/;
})
.AddJwtBearer(AzureAD, options =>
{
options.Audience = https://localhost:5000/;
options.Authority = https://login.microsoftonline.com/eb971100-7f436/;
});
// 권한
builder.Services.AddAuthorization(options =>
{
var defaultAuthorizationPolicyBuilder = new AuthorizationPolicyBuilder(
JwtBearerDefaults.AuthenticationScheme,
AzureAD);
defaultAuthorizationPolicyBuilder =
defaultAuthorizationPolicyBuilder.RequireAuthenticatedUser();
options.DefaultPolicy = defaultAuthorizationPolicyBuilder.Build();
});

더 많은 내용은 여기에서 확인하세요.

답변 2

멀티 JWT Bearer 인증을 사용하려면 어떻게 해야 할까요?
최근에는 웹 개발 및 보안 분야에서 멀티 JWT Bearer 인증이 많이 사용되고 있습니다. 일반적으로 JWT는 JSON Web Token의 약자로, 웹 애플리케이션에서 사용자 인증 및 권한 부여에 쓰이는 방법입니다. JWT는 디지털 서명을 통해 정보의 무결성과 안전성을 보장하며, 쉽게 전송하고 저장할 수 있어 많은 개발자들에게 인기가 있습니다.
멀티 JWT Bearer 인증은 여러 개의 JWT 토큰을 사용하여 보안을 더욱 강화하는 방식입니다. 일반적으로 한 개의 JWT 토큰만 사용하는 것과 비교하여 보안성을 높일 수 있습니다. 멀티 JWT Bearer 인증은 여러 개의 토큰을 함께 사용하고, 각 토큰이 서로 다른 요구사항을 충족시킬 수 있도록 제어합니다. 예를 들어, 하나의 토큰은 사용자 인증을 위해 사용되고, 다른 토큰은 권한 부여를 위해 사용될 수 있습니다.
이러한 멀티 JWT Bearer 인증 방식은 보안의 다층화를 제공하여 웹 애플리케이션의 안전성을 향상시킵니다. 각각의 토큰은 특정한 목적을 위해 사용되므로, 인증 및 권한 부여에 필요한 정보를 적절히 분리하여 보안 위험을 감소시킬 수 있습니다. 또한, 하나의 토큰이 유출되어도 다른 토큰들은 그에 영향을 받지 않기 때문에 보안성이 높아집니다.
멀티 JWT Bearer 인증 방식을 사용하기 위해서는 몇 가지 주의사항이 있습니다. 첫째, 각각의 토큰은 서로 다른 시크릿 키를 사용하여 서명되어야 합니다. 이를 통해 각 토큰의 무결성을 보장할 수 있습니다. 둘째, 토큰들 간의 상호작용을 정확히 관리하여 올바른 시점에서 적절한 인증 및 권한 부여를 수행해야 합니다. 마지막으로, 토큰들을 안전하게 저장하고 관리해야 합니다. 토큰들이 유출되면 보안 위협이 발생할 수 있기 때문에 충분한 보호조치가 필요합니다.
결론적으로, 멀티 JWT Bearer 인증은 웹 애플리케이션의 보안성을 강화하기 위한 효과적인 방법입니다. 각각의 토큰은 특정한 목적을 위해 사용되며, 서로 다른 요구사항을 충족시킬 수 있도록 제어됩니다. 이를 통해 정보의 무결성과 안전성을 보장하면서도 사용자 인증 및 권한 부여를 관리할 수 있습니다. 멀티 JWT Bearer 인증 방식을 구현하기 위해서는 주의사항을 잘 숙지하고, 토큰들을 안전하게 관리해야 한다는 것을 기억해야 합니다.

반응형
Comments