>백엔드 개발 >C++ >ASP.NET Core 2에서 여러 JWT 전달자 인증 체계를 어떻게 구현할 수 있습니까?

ASP.NET Core 2에서 여러 JWT 전달자 인증 체계를 어떻게 구현할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-12 06:52:43868검색

How Can I Implement Multiple JWT Bearer Authentication Schemes in ASP.NET Core 2?

ASP.NET Core 2에서 다중 JWT 전달자 인증 구현

과제: ASP.NET Core 2 내에서 다양한 JWT 토큰 발급자를 사용하여 여러 외부 서비스에서 API 액세스를 활성화하려면 어떻게 해야 합니까? 특히 Firebase와 맞춤 JWT 공급자 모두의 인증을 지원해야 합니다.

해결책: ASP.NET Core의 유연성 덕분에 여러 인증 체계를 구성할 수 있으므로 다양한 JWT 소스에서 인증이 가능해집니다. 방법은 다음과 같습니다.

AddAuthentication의 올바른 사용

일반적인 실수는 매개변수 없이 AddAuthentication을 호출하는 것입니다. 여러 인증 체계의 경우 체계 이름을 나타내는 문자열 매개변수를 허용하는 오버로드를 사용해야 합니다.

여러 JWT 전달자 체계 구성

AddJwtBearer을 각 인증 체계(예: 'Firebase' 및 'Custom')에 대해 한 번씩 여러 번 활용하세요. 각 호출 내에서 각 JWT 발급자에 특정한 AuthorityTokenValidationParameters를 지정합니다.

기본 승인 정책 수정

다양한 체계를 수용하려면 기본 인증 정책을 업데이트해야 합니다. AddAuthorization을 포함한 정책을 구성하려면 DefaultPolicy을 사용하세요. DefaultPolicy에 "Firebase" 및 "Custom" 구성표가 모두 포함되어 있는지 확인하세요.

코드 예시

이 예는 올바른 구성을 보여줍니다.

<code class="language-csharp">services
    .AddAuthentication()
    .AddJwtBearer("Firebase", options =>
    {
        // Configure Firebase JWT authentication settings here
    })
    .AddJwtBearer("Custom", options =>
    {
        // Configure Custom JWT authentication settings here
    });

services
    .AddAuthorization(options =>
    {
        options.DefaultPolicy = new AuthorizationPolicyBuilder()
            .RequireAuthenticatedUser()
            .AddAuthenticationSchemes("Firebase", "Custom")
            .Build();
    });</code>

고급 승인 시나리오

복잡한 인증이 필요한 경우 정책 기반 인증을 활용하세요. 이를 통해 인증 체계 및 클레임 요구 사항을 지정하는 정책을 생성할 수 있습니다.

.NET Core 6 이상

최신 .NET Core 버전에서는 AddAuthentication에 기본 인증 체계를 지정해야 합니다.

위 내용은 ASP.NET Core 2에서 여러 JWT 전달자 인증 체계를 어떻게 구현할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.