Compartilhar via


SecurityTokenHandler.CreateToken(SecurityTokenDescriptor) Método

Definição

Quando substituído em uma classe derivada, cria um token de segurança usando o descritor de token especificado. Este método é chamado por um STS (serviço de token de segurança).

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 do qual o token deve ser criado. Propriedades do descritor de token são definidas antes deste método ser chamado.

Retornos

Um token de segurança que coincide com as propriedades do descritor de token.

Exemplos

O código a seguir mostra como substituir o CreateToken método para criar e retornar um token de um descritor de token. O código é obtido do Custom Token exemplo. Este exemplo fornece classes personalizadas que permitem o processamento de SWT (Tokens Web Simples). Para obter informações sobre este exemplo e outros exemplos disponíveis para WIF e onde baixá-los, consulte Índice de exemplo 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;
}

Comentários

Por padrão, esse método gera uma NotImplementedException exceção.

Chamado de implementações da SecurityTokenService classe .

Aplica-se a