SecurityTokenService.Issue(ClaimsPrincipal, RequestSecurityToken) Yöntem

Tanım

Bir güvenlik belirteci verir.

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

Parametreler

principal
ClaimsPrincipal

ClaimsPrincipal Belirteç istek sahibinin kimliğini temsil eden bir.

request
RequestSecurityToken

RequestSecurityToken Güvenlik belirteci isteğini temsil eden bir. Bu, istek iletisinin yanı sıra yetkilendirme bağlamı gibi diğer istemciyle ilgili bilgileri içerir.

Döndürülenler

RequestSecurityTokenResponse Verilen güvenlik belirtecini içeren bir.

Açıklamalar

Bu yöntem, WS-Trust belirtiminde tanımlanan Sorun bağlamasını uygular. Yönteminin Issue varsayılan uygulaması, gelen isteği (RST) bir belirteç verme (talep verme) işlem hattı aracılığıyla işler ve istek sahibinin kimliğini RP veya uygun bir özel durumla doğrulamak için uygun taleplere sahip bir güvenlik belirteci içeren bir yanıt (RSTR) döndürür. Varsayılan uygulamadaki belirteç verme işlem hattı, aşağıdaki yöntemlere ( SecurityTokenService sınıfının) çağrılarından oluşur.

  1. İsteği ValidateRequest doğrulama yöntemi (RST).

  2. GetScope İstekle ilişkili bağlı olan taraf (RP) hakkında bilgi içeren bir Scope nesne alma yöntemi. Bu yöntemi geçersiz kılmalısınız. döndürürse GetScopenull, bir InvalidOperationException oluşturulur.

  3. RST'yi CreateSecurityTokenDescriptor ve Scope önceki adımda döndürülen nesneyi temel alan bir güvenlik belirteci tanımlayıcısı döndürme yöntemi. Güvenlik belirteci tanımlayıcısı (SecurityTokenDescriptor), belirteç işleyicisi tarafından kullanılabilecek bir formda istek hakkındaki bilgileri içerir. SecurityTokenService.SecurityTokenDescriptor özelliği, çağrı tarafından döndürülen tanımlayıcıya ayarlanır. döndürülürse nullSigningCredentials veya tanımlayıcının özelliği ise null, bir InvalidOperationException oluşturulur. Özellik true ise Scope.TokenEncryptionRequired ancak EncryptingCredentials döndürülen tanımlayıcıdaki özellik ise nullözel durum da oluşturulur.

  4. GetSecurityTokenHandler İstenen belirteç türüne göre uygun belirteç işleyicisini alma yöntemi. döndürülürse null , bir NotImplementedException oluşturulur.

  5. GetIssuerName Belirtecin veren adını alma yöntemi. Ad null boşsa veya boşsa bir InvalidOperationException oluşturur; aksi takdirde tanımlayıcıda özelliğini ayarlarTokenIssuerName.

  6. GetTokenLifetime Belirteç için yaşam süresi alma yöntemi ve tanımlayıcıda özelliğini ayarlarLifetime.

  7. Verilen GetProofToken belirteçte dahil etmek için kanıt belirtecini alma yöntemi ve tanımlayıcıda özelliğini ayarlar Proof .

  8. Verilen GetOutputClaimsIdentity belirteçte dahil etmek için talepleri alma yöntemi ve tanımlayıcıda özelliğini ayarlar Subject . Bu yöntemi geçersiz kılmalısınız.

  9. Verilen GetResponse belirteci içeren bir yanıt (RSTR) oluşturma yöntemi.

Özel belirteç verme işlem hattı uygulamak için yöntemini geçersiz kılabilirsiniz Issue ; ancak bu genellikle sınıfın çoğu özel uygulamasının amaçlandığı geliştirme ve test ortamlarında SecurityTokenService gerekli değildir. Bu durumların birçoğunda ve GetScope yöntemlerini geçersiz kılarsınız GetOutputClaimsIdentity ve isteğe bağlı olarak ortamınız için hizmet verebilir bir STS sağlamak üzere yöntemini geçersiz kılarsınızValidateRequest. Daha fazla özelleştirme gerekiyorsa, genellikle yukarıda listelenen varsayılan belirteç verme işlem hattının her aşamasını uygulayan yöntemleri geçersiz kılarak bunu sağlayabilirsiniz.

Şunlara uygulanır