SecurityTokenHandler.CreateToken(SecurityTokenDescriptor) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.