Bagikan melalui


SecurityTokenHandler.CreateToken(SecurityTokenDescriptor) Metode

Definisi

Saat ditimpa di kelas turunan, membuat token keamanan menggunakan deskriptor token yang ditentukan. Metode ini dipanggil oleh layanan token keamanan (STS).

public:
 virtual System::IdentityModel::Tokens::SecurityToken ^ CreateToken(System::IdentityModel::Tokens::SecurityTokenDescriptor ^ tokenDescriptor);
public virtual System.IdentityModel.Tokens.SecurityToken CreateToken (System.IdentityModel.Tokens.SecurityTokenDescriptor tokenDescriptor);
abstract member CreateToken : System.IdentityModel.Tokens.SecurityTokenDescriptor -> System.IdentityModel.Tokens.SecurityToken
override this.CreateToken : System.IdentityModel.Tokens.SecurityTokenDescriptor -> System.IdentityModel.Tokens.SecurityToken
Public Overridable Function CreateToken (tokenDescriptor As SecurityTokenDescriptor) As SecurityToken

Parameter

tokenDescriptor
SecurityTokenDescriptor

Deskriptor token keamanan tempat token akan dibuat. Properti deskriptor token diatur sebelum metode ini dipanggil.

Mengembalikan

Token keamanan yang cocok dengan properti deskriptor token.

Contoh

Kode berikut menunjukkan cara mengambil CreateToken alih metode untuk membuat dan mengembalikan token dari deskriptor token. Kode diambil dari Custom Token sampel. Sampel ini menyediakan kelas kustom yang memungkinkan pemrosesan Simple Web Tokens (SWT). Untuk informasi tentang sampel ini dan sampel lain yang tersedia untuk WIF dan tempat mengunduhnya, lihat Indeks Sampel Kode WIF.

public override SecurityToken CreateToken(SecurityTokenDescriptor tokenDescriptor)
{
    if (tokenDescriptor == null)
    {
        throw new ArgumentNullException("tokenDescriptor");
    }

    NameValueCollection properties = new NameValueCollection();
    properties.Add(SimpleWebTokenConstants.Id, Guid.NewGuid().ToString());
    properties.Add(SimpleWebTokenConstants.Issuer, tokenDescriptor.TokenIssuerName);
    properties.Add(SimpleWebTokenConstants.Audience, tokenDescriptor.AppliesToAddress);
    properties.Add(SimpleWebTokenConstants.ExpiresOn, SecondsFromSwtBaseTime(tokenDescriptor.Lifetime.Expires));
    properties.Add(SimpleWebTokenConstants.ValidFrom, SecondsFromSwtBaseTime(tokenDescriptor.Lifetime.Created));

    foreach (Claim claim in tokenDescriptor.Subject.Claims)
    {
        properties.Add(claim.Type, claim.Value);
    }

    SimpleWebToken token = new SimpleWebToken(properties);
    return token;
}

Keterangan

Secara default metode ini memberikan NotImplementedException pengecualian.

Dipanggil dari implementasi SecurityTokenService kelas .

Berlaku untuk