RequestSecurityToken Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Güvenlik belirteci istemek için kullanılan wst:RequestSecurityToken öğesini (RST) temsil eder.
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
- Devralma
Örnekler
Bu konuda kullanılan kod örneği örnekten Custom Token
alınmıştır. Bu örnek, Basit Web Belirteçlerinin (SWT) işlenmesini sağlayan özel sınıflar sağlar ve SWT belirtecini sunabilen pasif bir STS uygulamasını içerir. STS, öğesinden SecurityTokenServicetüretilen bir sınıf tarafından uygulanır. Sınıfının belirteç verme işlem hattından çağrılan yöntemlerinin SecurityTokenService çoğu, parametreleri gibi bir RequestSecurityToken nesne alır. Bu örnek ve WIF için kullanılabilen diğer örnekler ve bunların nereden indirileceği hakkında bilgi için bkz. WIF Kod Örneği Dizini.
Aşağıdaki kod örneği, yönteminin SecurityTokenService.GetScope bir uygulamasını gösterir. yöntemi, parametresi olarak alır RequestSecurityToken ve yöntemi tarafından döndürülen nesnede Scope özellikleri ayarlamak için bu parametrenin özellikleri kullanılır.
// 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));
}
}
Açıklamalar
wst:RequestSecurityToken öğesi (ileti), bir güvenlik belirteci hizmetinden (STS) güvenlik belirteci istemek için kullanılan parametreleri ve özellikleri içerir. İleti (veya öğesi) RST olarak kısaltılır. sınıfı, RequestSecurityToken RST öğelerini temsil eden özellikler içerir. RST, WS-Trust tarafından tanımlanan istek bağlamalarından herhangi birine karşılık gelen bir istek oluşturabilir; Örneğin Verme bağlaması, Yenileme bağlaması, Doğrulama bağlaması veya İptal bağlaması. sınıfındaki RequestSecurityToken özelliklerin çoğu, yalnızca bu bağlamalar tarafından tanımlanan belirli istek türlerinde bulunan öğelere karşılık gelir. Belirli RequestSecurityToken bir nesnenin temsil eden istek türüne veya temsil eden belirli istekte bulunan parametrelere bağlı olarak, nesnenin bazı özellikleri olabilir null
.
STS, wst:RequestSecurityTokenResponse öğesini (RSTR) içeren bir iletide isteğe bir yanıt döndürür. Bu ileti sınıfı tarafından RequestSecurityTokenResponse temsil edilir.
Bu sınıfın temsil eden öğesi hakkında daha fazla bilgi için senaryonuz için geçerli olan WS-Trust belirtimine bakın: WS-Trust Şubat 2005, WS-Trust 1.3 veya WS-Trust 1.4.
Oluşturucular
RequestSecurityToken() |
RequestSecurityToken sınıfının yeni bir örneğini başlatır. |
RequestSecurityToken(String) |
Belirtilen istek türüyle RequestSecurityToken sınıfının yeni bir örneğini başlatır. |
RequestSecurityToken(String, String) |
Belirtilen istek türüyle RequestSecurityToken sınıfının yeni bir örneğini başlatır. |
Özellikler
ActAs |
İstek sahibinin işlem yapmaya çalıştığı kimliğin güvenlik belirtecini alır veya ayarlar. |
AdditionalContext |
İstek için ek bağlam bilgilerini alır veya ayarlar. |
AllowPostdating |
wst:AllowPostdating öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
AppliesTo |
wsp:AppliesTo öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
AuthenticationType |
wst:AuthenticationType öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
BinaryExchange |
wst:BinaryExchange öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
CancelTarget |
WS-Trust iptal isteğinde iptal edilecek belirteci alır veya ayarlar. |
CanonicalizationAlgorithm |
wst:CanonicalizationAlgorithm öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
Claims |
İstemci (istek sahibi) tarafından istenen talep türlerini alır. |
ComputedKeyAlgorithm |
Verilen belirteçler için hesaplanan anahtarlar kullanıldığında kullanılacak istenen algoritmayı temsil eden bir URI alır. |
Context |
RST veya RSTR'deki Context özniteliğinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
Delegatable |
Verilen belirtecin delegatable olarak işaretlenip işaretlenmediğini belirten bir değer alır veya ayarlar. |
DelegateTo |
Verilen belirtecin temsilci olarak atanacağı kimliği alır veya ayarlar. |
Encryption |
Şifreleme sırasında kullanılacak belirteç ve anahtarla ilgili bilgileri alır veya ayarlar. |
EncryptionAlgorithm |
wst:EncryptionAlgorithm öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
EncryptWith |
wst:EncryptWith öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
Entropy |
wst:Entropy öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
Forwardable |
Verilen belirtecin iletilebilir olarak işaretlenip işaretlenmediğini belirten bir değer alır veya ayarlar. |
Issuer |
wst:OnBehalfOf belirtecinin verenini alır veya ayarlar. |
KeySizeInBits |
RequestSecurityToken (RST) iletisinin içindeki wst:KeySize öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
KeyType |
RequestSecurityToken (RST) iletisinin içindeki wst:KeyType öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
KeyWrapAlgorithm |
wst:KeyWrapAlgorithm öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
Lifetime |
RequestSecurityToken (RST) iletisinin içindeki wst:Lifetime öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
OnBehalfOf |
İsteğin yapıldığı kimliğin belirtecini alır veya ayarlar. |
Participants |
Verilen belirteci kullanma yetkisi olan katılımcıları alır veya ayarlar. |
ProofEncryption |
Kanıt belirtecini şifrelemek için kullanılacak belirteci alır veya ayarlar. |
Properties |
Nesneyi genişletmek için özellikler çantasını alır. (Devralındığı yer: OpenObject) |
Renewing |
WS-Trust yenileme isteğinin yenileme semantiğini alır veya ayarlar. |
RenewTarget |
WS-Trust yenileme isteğinde yenilenecek belirteci alır veya ayarlar. |
ReplyTo |
Bağlı Olan Taraf'ı yanıtlamak için kullanılacak adresi alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
RequestType |
wst:RequestType öğesini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
SecondaryParameters |
İstek sahibinin kaynak olmadığı parametreleri alır veya ayarlar. |
SignatureAlgorithm |
wst:SignatureAlgorithm öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
SignWith |
wst:SignWith öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
TokenType |
wst:TokenType öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
UseKey |
wst:UseKey öğesinin içeriğini alır veya ayarlar. (Devralındığı yer: WSTrustMessage) |
ValidateTarget |
WS-Trust doğrulama isteğinde doğrulanacak belirteci alır veya ayarlar. |
Yöntemler
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |