SecurityTokenHandler.CreateToken(SecurityTokenDescriptor) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 .