다음을 통해 공유


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

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

request
RequestSecurityToken

보안 토큰 요청을 나타내는 RequestSecurityToken입니다. 여기에는 요청 메시지 뿐만 아니라 권한 부여 컨텍스트 등의 기타 클라이언트 관련 정보가 포함되어 있습니다.

반환

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

설명

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

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

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

  3. 합니다 CreateSecurityTokenDescriptor RST를 기반으로 보안 토큰 설명자를 반환 하는 방법 및 Scope 이전 단계에서 개체를 반환 합니다. 보안 토큰 설명자 (SecurityTokenDescriptor) 토큰 처리기를 사용할 수 있는 형태로 요청에 대 한 정보를 포함 합니다. SecurityTokenService.SecurityTokenDescriptor 호출에 의해 반환 된 설명자를 설정 합니다. 하는 경우 null 반환 됩니다 또는 경우에는 SigningCredentials 설명자의 속성은 null, InvalidOperationException throw 됩니다. 경우에 예외가 throw 됩니다는 Scope.TokenEncryptionRequired 속성은 true 되지만 EncryptingCredentials 반환 된 설명자에 속성이 null합니다.

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

  5. GetIssuerName 메서드를 토큰의 발급자 이름을 가져옵니다. Throw를 InvalidOperationException 이름이 null 빈 상태, 그렇지 않으면 설정 또는 TokenIssuerName 설명자에는 속성입니다.

  6. GetTokenLifetime 집합과 토큰의 수명을 가져오기 위한 메서드를 Lifetime 속성 설명자에 합니다.

  7. GetProofToken 집합과 발급 된 토큰에 포함할 수 있는 증명 토큰을 가져오기 위한 메서드를 Proof 속성 설명자에 합니다.

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

  9. GetResponse 발급된 된 토큰을 포함 하는 응답 (RSTR)을 만드는 방법.

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

적용 대상