방법: 사용자 지정 보안 토큰 공급자 만들기
이 항목에서는 사용자 지정 보안 토큰 공급자를 사용하여 새 토큰 형식을 만드는 방법과 공급자를 사용자 지정 보안 토큰 관리자와 통합하는 방법에 대해 설명합니다.
참고
System.IdentityModel.Tokens에 있는 시스템 제공 토큰이 요구 사항에 맞지 않을 경우 사용자 지정 토큰 공급자를 만드십시오.
보안 토큰 공급자는 클라이언트 또는 서비스 자격 증명의 정보를 기반으로 보안 토큰 표현을 만듭니다. WCF(Windows Communication Foundation) 보안에서 사용자 지정 보안 토큰 공급자를 사용하려면 사용자 지정 자격 증명과 보안 토큰 관리자 구현을 만들어야 합니다.
사용자 지정 자격 증명과 보안 토큰 관리자에 대한 자세한 내용은 방법: 사용자 지정 클라이언트 및 서비스 자격 증명 만들기를 참조하십시오.
자격 증명, 보안 토큰 관리자, 공급자 및 인증자 클래스에 대한 자세한 내용은 보안 아키텍처를 참조하십시오.
사용자 지정 보안 토큰 공급자를 만들려면
SecurityTokenProvider 클래스에서 파생된 새 클래스를 정의합니다.
GetTokenCore 메서드를 구현합니다. 이 메서드는 보안 토큰의 인스턴스를 만들고 반환합니다. 다음 예제에서는
MySecurityTokenProvider
라는 클래스를 만들고, GetTokenCore 메서드를 재정의하여 X509SecurityToken 클래스의 인스턴스를 반환합니다. 클래스 생성자에 X509Certificate2 클래스의 인스턴스가 필요합니다.
사용자 지정 보안 토큰 공급자를 사용자 지정 보안 토큰 관리자와 통합하려면
SecurityTokenManager 클래스에서 파생된 새 클래스를 정의합니다. 아래 예제는 SecurityTokenManager 클래스에서 파생된 ClientCredentialsSecurityTokenManager 클래스에서 파생됩니다.
아직 재정의되지 않은 경우 CreateSecurityTokenProvider 메서드를 재정의합니다.
CreateSecurityTokenProvider 메서드는 WCF 보안 프레임워크에서 메서드로 전달한 SecurityTokenRequirement 매개 변수에 적합한 SecurityTokenProvider 클래스의 인스턴스를 반환합니다. 적절한 보안 토큰 매개 변수를 사용하여 메서드를 호출할 때 이전 절차에서 만든 사용자 지정 보안 토큰 공급자 구현을 반환하도록 메서드를 수정합니다. 보안 토큰 관리자에 대한 자세한 내용은 방법: 사용자 지정 클라이언트 및 서비스 자격 증명 만들기를 참조하십시오.
메서드에 논리를 추가하여 SecurityTokenRequirement 매개 변수를 기반으로 사용자 지정 보안 토큰 공급자를 반환할 수 있도록 합니다. 다음 예제에서는 토큰 요구 사항에 맞을 경우 사용자 지정 보안 토큰 공급자를 반환합니다. 요구 사항에는 X.509 보안 토큰 및 토큰이 메시지 출력에 사용되는 메시지 방향이 포함됩니다. 다른 모든 경우에서 코드는 기본 클래스를 호출하여 다른 보안 토큰 요구 사항에 대한 시스템 제공 동작을 유지 관리합니다.
예제
다음 예제에서는 해당 SecurityTokenManager 구현과 함께 전체 SecurityTokenProvider 구현을 보여 줍니다.
참고 항목
참조
SecurityTokenProvider
SecurityTokenRequirement
SecurityTokenManager
X509SecurityToken
개념
방법: 사용자 지정 클라이언트 및 서비스 자격 증명 만들기
방법: 사용자 지정 보안 토큰 인증자 만들기
보안 아키텍처