SecurityTokenHandler.CreateToken(SecurityTokenDescriptor) Metodo

Definizione

Quando sottoposto a override in una classe derivata, crea un token di sicurezza usando il descrittore di token specificato. Questo metodo viene chiamato da un servizio token di sicurezza (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

Parametri

tokenDescriptor
SecurityTokenDescriptor

Descrittore del token di sicurezza da cui creare il token. Le proprietà del descrittore di token vengono impostate prima di chiamare questo metodo.

Valori restituiti

Token di sicurezza che corrisponde alle proprietà del descrittore del token.

Esempio

Il codice seguente illustra come eseguire l'override del CreateToken metodo per creare e restituire un token da un descrittore di token. Il codice è tratto dall'esempio Custom Token . Questo esempio fornisce classi personalizzate che consentono l'elaborazione di token Web semplici (SWT). Per informazioni su questo esempio e altri esempi disponibili per WIF e su dove scaricarli, vedere Indice di esempio di codice 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;
}

Commenti

Per impostazione predefinita, questo metodo genera un'eccezione NotImplementedException .

Chiamato dalle implementazioni della SecurityTokenService classe .

Si applica a