SecurityTokenService.Issue(ClaimsPrincipal, RequestSecurityToken) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengeluarkan token keamanan.
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
Parameter
- principal
- ClaimsPrincipal
ClaimsPrincipal yang mewakili identitas pemohon token.
- request
- RequestSecurityToken
RequestSecurityToken yang mewakili permintaan token keamanan. Ini termasuk pesan permintaan serta informasi terkait klien lainnya seperti konteks otorisasi.
Mengembalikan
RequestSecurityTokenResponse yang berisi token keamanan yang dikeluarkan.
Keterangan
Metode ini mengimplementasikan pengikatan Masalah yang ditentukan dalam spesifikasi WS-Trust. Implementasi Issue default metode memproses permintaan masuk (RST) melalui alur penerbitan token (penerbitan klaim) dan mengembalikan respons (RSTR) yang berisi token keamanan dengan klaim yang sesuai untuk mengautentikasi pemohon dengan RP atau pengecualian yang sesuai. Alur penerbitan token dalam implementasi default terdiri dari panggilan ke metode berikut (dari SecurityTokenService kelas ).
Metode ValidateRequest untuk memvalidasi permintaan (RST).
Metode GetScope untuk mendapatkan Scope objek yang berisi informasi tentang pihak yang mengandalkan (RP) yang terkait dengan permintaan. Anda harus mengambil alih metode ini. Jika GetScope mengembalikan
null
, akan InvalidOperationException dilemparkan.Metode CreateSecurityTokenDescriptor untuk mengembalikan deskriptor token keamanan berdasarkan RST dan objek yang Scope dikembalikan pada langkah sebelumnya. Deskriptor token keamanan (SecurityTokenDescriptor) berisi informasi tentang permintaan dalam formulir yang dapat digunakan oleh handler token. Properti SecurityTokenService.SecurityTokenDescriptor diatur ke deskriptor yang dikembalikan oleh panggilan. Jika
null
dikembalikan atau jika SigningCredentials properti deskriptor adalahnull
, maka InvalidOperationException akan dilemparkan. Pengecualian juga dilemparkan jika Scope.TokenEncryptionRequired properti adalahtrue
tetapi EncryptingCredentials properti pada deskriptor yang dikembalikan adalahnull
.Metode GetSecurityTokenHandler untuk mendapatkan handler token yang sesuai berdasarkan jenis token yang diminta. Jika
null
dikembalikan, akan NotImplementedException dilemparkan.Metode GetIssuerName untuk mendapatkan nama pengeluar sertifikat untuk token. InvalidOperationException Melemparkan jika nama adalah
null
atau kosong; jika tidak mengatur TokenIssuerName properti pada deskriptor.Metode GetTokenLifetime untuk mendapatkan masa pakai token dan mengatur Lifetime properti pada deskriptor.
Metode GetProofToken untuk mendapatkan token bukti untuk disertakan dalam token yang dikeluarkan dan mengatur Proof properti pada deskriptor.
Metode GetOutputClaimsIdentity untuk mendapatkan klaim untuk disertakan dalam token yang dikeluarkan dan mengatur Subject properti pada deskriptor. Anda harus mengambil alih metode ini.
Metode GetResponse untuk membuat respons (RSTR) yang berisi token yang dikeluarkan.
Anda dapat mengambil alih Issue metode untuk mengimplementasikan alur penerbitan token kustom; namun ini biasanya tidak diperlukan dalam lingkungan pengembangan dan pengujian di mana sebagian besar implementasi SecurityTokenService kustom kelas dimaksudkan. Dalam banyak kasus ini, Anda mengambil GetOutputClaimsIdentity alih metode dan GetScope dan secara opsional mengambil alih ValidateRequest metode untuk menyediakan STS yang dapat dilayankan untuk lingkungan Anda. Jika penyesuaian lebih lanjut diperlukan, Anda sering dapat menyediakannya dengan mengganti metode yang mengimplementasikan setiap tahap alur penerbitan token default yang tercantum di atas.