다음을 통해 공유


SecurityTokenService.Issue(ClaimsPrincipal, RequestSecurityToken) 메서드

정의

보안 토큰을 발급합니다.

public:
 virtual System::IdentityModel::Protocols::WSTrust::RequestSecurityTokenResponse ^ Issue(System::Security::Claims::ClaimsPrincipal ^ principal, System::IdentityModel::Protocols::WSTrust::RequestSecurityToken ^ request);
public virtual System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse Issue(System.Security.Claims.ClaimsPrincipal principal, System.IdentityModel.Protocols.WSTrust.RequestSecurityToken request);
abstract member Issue : System.Security.Claims.ClaimsPrincipal * System.IdentityModel.Protocols.WSTrust.RequestSecurityToken -> System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse
override this.Issue : System.Security.Claims.ClaimsPrincipal * System.IdentityModel.Protocols.WSTrust.RequestSecurityToken -> System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse
Public Overridable Function Issue (principal As ClaimsPrincipal, request As RequestSecurityToken) As RequestSecurityTokenResponse

매개 변수

principal
ClaimsPrincipal

ClaimsPrincipal 토큰 요청자의 ID를 나타내는 A입니다.

request
RequestSecurityToken

보안 토큰 요청을 나타내는 A RequestSecurityToken 입니다. 여기에는 요청 메시지뿐만 아니라 권한 부여 컨텍스트와 같은 다른 클라이언트 관련 정보가 포함됩니다.

반품

RequestSecurityTokenResponse 발급된 보안 토큰을 포함하는 A입니다.

설명

이 메서드는 WS-Trust 사양에 정의된 문제 바인딩을 구현합니다. 메서드의 Issue 기본 구현은 토큰 발급(클레임 발급) 파이프라인을 통해 들어오는 요청(RST)을 처리하고 RP 또는 적절한 예외를 사용하여 요청자를 인증하기 위한 적절한 클레임이 있는 보안 토큰이 포함된 응답(RSTR)을 반환합니다. 기본 구현의 토큰 발급 파이프라인은 다음 메서드(클래스)에 대한 호출로 SecurityTokenService 구성됩니다.

  1. ValidateRequest 요청의 유효성을 검사하는 메서드(RST)입니다.

  2. GetScope 요청과 연결된 RP(신뢰 당사자)에 대한 정보가 포함된 개체를 가져오는 Scope 메서드입니다. 이 메서드를 재정의해야 합니다. 반환null되는 경우 GetScope throw InvalidOperationException 됩니다.

  3. CreateSecurityTokenDescriptor RST 및 Scope 이전 단계에서 반환된 개체를 기반으로 보안 토큰 설명자를 반환하는 메서드입니다. 보안 토큰 설명자(SecurityTokenDescriptor)는 토큰 처리기에서 사용할 수 있는 양식의 요청에 대한 정보를 포함합니다. 이 SecurityTokenService.SecurityTokenDescriptor 속성은 호출에서 반환된 설명자로 설정됩니다. null 반환되거나 설명자의 속성이 null있으면 SigningCredentials throw InvalidOperationException 됩니다. 속성이 반환 EncryptingCredentials 된 설명자의 속성 true 인 경우에도 Scope.TokenEncryptionRequired 예외가 throw됩니다null.

  4. GetSecurityTokenHandler 요청된 토큰의 종류에 따라 적절한 토큰 처리기를 가져오는 메서드입니다. 반환되면 null throw NotImplementedException 됩니다.

  5. GetIssuerName 토큰의 발급자 이름을 가져오는 메서드입니다. 이름이 null 비어 있으면 throw하고InvalidOperationException, 그렇지 않으면 설명자에 속성을 설정합니다TokenIssuerName.

  6. GetTokenLifetime 토큰의 수명을 가져오고 설명자의 속성을 설정하는 Lifetime 메서드입니다.

  7. GetProofToken 발급된 토큰에 포함할 증명 토큰을 가져오고 설명자의 속성을 설정하는 Proof 메서드입니다.

  8. GetOutputClaimsIdentity 발급된 토큰에 포함할 클레임을 가져오고 설명자에 속성을 설정하는 Subject 메서드입니다. 이 메서드를 재정의해야 합니다.

  9. GetResponse 발급된 토큰을 포함하는 응답(RSTR)을 만드는 메서드입니다.

사용자 지정 토큰 발급 파이프라인을 구현하기 위해 메서드를 재정 Issue 의할 수 있습니다. 그러나 일반적으로 클래스의 SecurityTokenService 대부분의 사용자 지정 구현이 의도된 개발 및 테스트 환경에서는 필요하지 않습니다. 대부분의 경우 사용자 환경에 서비스 가능한 STS를 제공하기 위해 메서드 및 GetScope 메서드를 재정 GetOutputClaimsIdentity 의하고 선택적으로 재정 ValidateRequest 의합니다. 추가 사용자 지정이 필요한 경우 위에 나열된 기본 토큰 발급 파이프라인의 각 단계를 구현하는 메서드를 재정의하여 제공할 수 있습니다.

적용 대상