Aracılığıyla paylaş


SecurityTokenHandler.CreateToken(SecurityTokenDescriptor) Yöntem

Tanım

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen belirteç tanımlayıcısını kullanarak bir güvenlik belirteci oluşturur. Bu yöntem bir güvenlik belirteci hizmeti (STS) tarafından çağrılır.

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

Parametreler

tokenDescriptor
SecurityTokenDescriptor

Belirtecin oluşturulacağı güvenlik belirteci tanımlayıcısı. Belirteç tanımlayıcısının özellikleri bu yöntem çağrılmadan önce ayarlanır.

Döndürülenler

Belirteç tanımlayıcısının özellikleriyle eşleşen bir güvenlik belirteci.

Örnekler

Aşağıdaki kod, belirteç tanımlayıcısından belirteç oluşturmak ve döndürmek için yönteminin nasıl geçersiz kılınacağını CreateToken gösterir. Kod örnekten Custom Token alınır. Bu örnek, Basit Web Belirteçlerinin (SWT) işlenmesini sağlayan özel sınıflar sağlar. 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.

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;
}

Açıklamalar

Varsayılan olarak bu yöntem bir NotImplementedException özel durum oluşturur.

sınıfının uygulamalarından çağrılır SecurityTokenService .

Şunlara uygulanır