RequestSecurityToken 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
보안 토큰을 요청하는 데 사용되는 wst:RequestSecurityToken 요소(RST)를 나타냅니다.
public ref class RequestSecurityToken : System::IdentityModel::Protocols::WSTrust::WSTrustMessage
public class RequestSecurityToken : System.IdentityModel.Protocols.WSTrust.WSTrustMessage
type RequestSecurityToken = class
inherit WSTrustMessage
Public Class RequestSecurityToken
Inherits WSTrustMessage
- 상속
예제
이 항목에 사용 되는 코드 예제에서 가져온 것은 Custom Token
샘플입니다. 이 샘플에서는 간단한 웹 토큰 (SWT)의 처리를 사용 하도록 설정 하는 사용자 지정 클래스를 제공 하 고 SWT 토큰 서비스를 제공할 수 있는 패시브 STS 구현의 포함 되어 있습니다. STS에서 파생 된 클래스에서 구현 됩니다 SecurityTokenService합니다. 메서드 중 대부분을 SecurityTokenService 토큰 발급 파이프라인을 사용 하는 호출 되는 클래스를 RequestSecurityToken 한 경우 해당 매개 변수 개체입니다. 이 샘플 및 사용할 수 있는 다른 샘플에 대 한 WIF에 대 한 다운로드 위치에 대 한, 참조 WIF 코드 샘플 인덱스합니다.
다음 코드 예제에서는 SecurityTokenService.GetScope 메서드를 구현하는 방법을 보여 줍니다. 메서드는을 RequestSecurityToken 해당 매개 변수 중 하나 및이 매개 변수는 속성으로 되는 속성을 설정 하는 Scope 메서드에 의해 반환 되는 개체입니다.
// Certificate Constants
private const string SIGNING_CERTIFICATE_NAME = "CN=localhost";
private const string ENCRYPTING_CERTIFICATE_NAME = "CN=localhost";
private SigningCredentials _signingCreds;
private EncryptingCredentials _encryptingCreds;
// Used for validating applies to address, set to URI used in RP app of application, could also have been done via config
private string _addressExpected = "http://localhost:19851/";
/// <summary>
/// This method returns the configuration for the token issuance request. The configuration
/// is represented by the Scope class. In our case, we are only capable of issuing a token to a
/// single RP identity represented by the _encryptingCreds field.
/// </summary>
/// <param name="principal">The caller's principal</param>
/// <param name="request">The incoming RST</param>
/// <returns></returns>
protected override Scope GetScope(ClaimsPrincipal principal, RequestSecurityToken request)
{
// Validate the AppliesTo address
ValidateAppliesTo( request.AppliesTo );
// Create the scope using the request AppliesTo address and the RP identity
Scope scope = new Scope( request.AppliesTo.Uri.AbsoluteUri, _signingCreds );
if (Uri.IsWellFormedUriString(request.ReplyTo, UriKind.Absolute))
{
if (request.AppliesTo.Uri.Host != new Uri(request.ReplyTo).Host)
scope.ReplyToAddress = request.AppliesTo.Uri.AbsoluteUri;
else
scope.ReplyToAddress = request.ReplyTo;
}
else
{
Uri resultUri = null;
if (Uri.TryCreate(request.AppliesTo.Uri, request.ReplyTo, out resultUri))
scope.ReplyToAddress = resultUri.AbsoluteUri;
else
scope.ReplyToAddress = request.AppliesTo.Uri.ToString() ;
}
// Note: In this sample app only a single RP identity is shown, which is localhost, and the certificate of that RP is
// populated as _encryptingCreds
// If you have multiple RPs for the STS you would select the certificate that is specific to
// the RP that requests the token and then use that for _encryptingCreds
scope.EncryptingCredentials = _encryptingCreds;
return scope;
}
/// <summary>
/// Validates the appliesTo and throws an exception if the appliesTo is null or appliesTo contains some unexpected address.
/// </summary>
/// <param name="appliesTo">The AppliesTo parameter in the request that came in (RST)</param>
/// <returns></returns>
void ValidateAppliesTo(EndpointReference appliesTo)
{
if (appliesTo == null)
{
throw new InvalidRequestException("The appliesTo is null.");
}
if (!appliesTo.Uri.Equals(new Uri(_addressExpected)))
{
throw new InvalidRequestException(String.Format("The relying party address is not valid. Expected value is {0}, the actual value is {1}.", _addressExpected, appliesTo.Uri.AbsoluteUri));
}
}
설명
Wst: requestsecuritytoken 요소 (메시지)에 매개 변수 및 보안 토큰 서비스 (STS)에서 보안 토큰을 요청 하는 데 사용 되는 속성을 포함 합니다. 메시지 (또는 요소)은 RST로 약어입니다. RequestSecurityToken 클래스 RST의 요소를 나타내는 속성을 포함 합니다. RST은 Ws-trust;에서 정의한 요청 바인딩 중 하나에 해당 하는 요청을 구성할 수 있습니다. 예를 들어 발급, 갱신 바인딩, 유효성 검사 바인딩에 바인딩이나 취소 바인딩. 대부분의 속성에는 RequestSecurityToken 특정 종류의 이러한 바인딩에 의해 정의 된 요청에만 존재 하는 요소에 해당 하는 클래스입니다. 특정 요청의 종류에 따라 RequestSecurityToken 개체가 나타내는 또는 표시 되는 특정 요청에 있는 매개 변수 개체의 일부 속성 수 null
입니다.
STS는 wst: requestsecuritytokenresponse 요소 (RSTR)을 포함 하는 메시지의 요청에 대 한 응답을 반환 합니다. 이 메시지가 표시 됩니다는 RequestSecurityTokenResponse 클래스입니다.
이 클래스가 나타내는 요소에 대한 자세한 내용은 WS-Trust 2005년 2월, WS-Trust 1.3 또는 WS-Trust 1.4 시나리오에 적용되는 WS-Trust 사양을 참조하세요.
생성자
RequestSecurityToken() |
RequestSecurityToken 클래스의 새 인스턴스를 초기화합니다. |
RequestSecurityToken(String) |
지정된 요청 형식을 사용하여 RequestSecurityToken 클래스의 새 인스턴스를 초기화합니다. |
RequestSecurityToken(String, String) |
지정된 요청 형식을 사용하여 RequestSecurityToken 클래스의 새 인스턴스를 초기화합니다. |
속성
ActAs |
요청자가 역할을 수행하려고 하는 ID에 대한 보안 토큰을 가져오거나 설정합니다. |
AdditionalContext |
요청에 대한 추가 컨텍스트 정보를 가져오거나 설정합니다. |
AllowPostdating |
wst:AllowPostdating 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
AppliesTo |
wsp:AppliesTo 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
AuthenticationType |
wst:AuthenticationType 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
BinaryExchange |
wst:BinaryExchange 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
CancelTarget |
WS-Trust 취소 요청에서 취소될 토큰을 가져오거나 설정합니다. |
CanonicalizationAlgorithm |
wst:CanonicalizationAlgorithm 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
Claims |
클라이언트(요청자)가 요청한 클레임 형식을 가져옵니다. |
ComputedKeyAlgorithm |
계산된 키가 발급된 토큰에 사용되는 경우 사용할 원하는 알고리즘을 나타내는 URI를 가져옵니다. |
Context |
RST 또는 RSTR에 대한 Context 특성의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
Delegatable |
발급된 토큰을 위임 가능으로 표시해야 하는지 여부를 지정하는 값을 가져오거나 설정합니다. |
DelegateTo |
발급된 토큰을 위임해야 하는 ID를 가져오거나 설정합니다. |
Encryption |
암호화할 때 사용할 키와 토큰의 정보를 가져오거나 설정합니다. |
EncryptionAlgorithm |
wst:EncryptionAlgorithm 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
EncryptWith |
wst:EncryptWith 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
Entropy |
wst:Entropy 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
Forwardable |
발급된 토큰을 전달 가능으로 표시해야 하는지 여부를 지정하는 값을 가져오거나 설정합니다. |
Issuer |
wst:OnBehalfOf 토큰의 발급자를 가져오거나 설정합니다. |
KeySizeInBits |
RequestSecurityToken(RST) 메시지 내의 wst:KeySize 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
KeyType |
RequestSecurityToken(RST) 메시지 내의 wst:KeyType 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
KeyWrapAlgorithm |
wst:KeyWrapAlgorithm 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
Lifetime |
RequestSecurityToken(RST) 메시지 내의 wst:Lifetime 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
OnBehalfOf |
요청이 대신 이루어지는 ID의 토큰을 가져오거나 설정합니다. |
Participants |
발급된 토큰을 사용할 수 있는 권한이 부여된 참여자를 가져오거나 설정합니다. |
ProofEncryption |
증명 토큰을 암호화하는 데 사용하는 토큰을 가져오거나 설정합니다. |
Properties |
개체를 확장하기 위한 속성 모음을 가져옵니다. (다음에서 상속됨 OpenObject) |
Renewing |
WS-Trust 갱신 요청에 대한 갱신 의미 체계를 가져오거나 설정합니다. |
RenewTarget |
WS-Trust 갱신 요청에서 갱신될 토큰을 가져오거나 설정합니다. |
ReplyTo |
신뢰 당사자에게 회신하는 데 사용할 주소를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
RequestType |
wst:RequestType 요소를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
SecondaryParameters |
요청자가 작성자가 아닌 매개 변수를 가져오거나 설정합니다. |
SignatureAlgorithm |
wst:SignatureAlgorithm 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
SignWith |
wst:SignWith 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
TokenType |
wst:TokenType 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
UseKey |
wst:UseKey 요소의 콘텐츠를 가져오거나 설정합니다. (다음에서 상속됨 WSTrustMessage) |
ValidateTarget |
WS-Trust 유효성 검사 요청에서 유효성을 검사할 토큰을 가져오거나 설정합니다. |
메서드
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
적용 대상
추가 정보
.NET