SecurityTokenHandler.CreateToken(SecurityTokenDescriptor) Método

Definição

Quando sobreposto numa classe derivada, cria-se um token de segurança usando o descritor do token especificado. Este método é chamado por um serviço de token de segurança (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

Parâmetros

tokenDescriptor
SecurityTokenDescriptor

O descritor do token de segurança a partir do qual o token deve ser criado. As propriedades do descritor de token são definidas antes deste método ser chamado.

Devoluções

Um token de segurança que corresponde às propriedades do descritor do token.

Exemplos

O código seguinte mostra como sobrescrever o CreateToken método para criar e devolver um token a partir de um descritor de token. O código é retirado do Custom Token exemplo. Este exemplo fornece classes personalizadas que permitem o processamento de Simples Web Tokens (SWT). Para informações sobre esta amostra e outras amostras disponíveis para WIF e onde as descarregar, consulte Índice de Exemplos de Código 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;
}

Observações

Por defeito, este método lança uma NotImplementedException exceção.

Chamadas a partir de implementações da SecurityTokenService classe.

Aplica-se a