Partager via


SecurityTokenHandler.CreateToken(SecurityTokenDescriptor) Méthode

Définition

En cas de substitution dans une classe dérivée, crée un jeton de sécurité à l'aide descripteur de jetons spécifié. Cette méthode est appelée par un service d'émission de jeton de sécurité (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

Paramètres

tokenDescriptor
SecurityTokenDescriptor

Descripteur de jeton de sécurité à partir duquel le jeton doit être créé. Les propriétés du descripteur de jeton sont définies avant l'appel de cette méthode.

Retours

Jeton de sécurité qui correspond aux propriétés du descripteur de jetons.

Exemples

Le code suivant montre comment remplacer la CreateToken méthode pour créer et retourner un jeton à partir d’un descripteur de jeton. Le code est extrait de l’exemple Custom Token . Cet exemple fournit des classes personnalisées qui permettent le traitement des jetons web simples (SWT). Pour plus d’informations sur cet exemple et d’autres exemples disponibles pour WIF et pour savoir où les télécharger, consultez Index d’exemple de code 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;
}

Remarques

Par défaut, cette méthode lève une NotImplementedException exception.

Appelé à partir des implémentations de la SecurityTokenService classe .

S’applique à