Condividi tramite


SecurityTokenHandler.CreateToken(SecurityTokenDescriptor) Metodo

Definizione

Quando è sottoposto a override in una classe derivata, crea un nuovo token di sicurezza utilizzando 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 il token deve essere creato. Le proprietà del descrittore di token vengono impostate prima della chiamata a questo metodo.

Restituisce

Token di sicurezza che corrisponde alle proprietà del descrittore dei 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 viene 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 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 .

Chiamata dalle implementazioni della SecurityTokenService classe.

Si applica a