Freigeben über


SecurityTokenHandler.CreateToken(SecurityTokenDescriptor) Methode

Definition

Erstellt, wenn in einer abgeleiteten Klasse überschrieben, ein Sicherheitstoken mithilfe der angegebenen Tokenbeschreibung. Diese Methode wird von einem Sicherheitstokendienst (STS) aufgerufen.

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

Parameter

tokenDescriptor
SecurityTokenDescriptor

Der Sicherheitstokendeskriptor, von dem das Token erstellt werden soll. Eigenschaften des Tokensdeskriptors werden festgelegt, bevor diese Methode aufgerufen wird.

Gibt zurück

Ein Sicherheitstoken, das mit den Eigenschaften des Tokensdeskriptors übereinstimmt.

Beispiele

Der folgende Code zeigt, wie Sie die CreateToken -Methode überschreiben, um ein Token von einem Tokendeskriptor zu erstellen und zurückzugeben. Der Code wird aus dem Custom Token Beispiel entnommen. Dieses Beispiel stellt benutzerdefinierte Klassen bereit, die die Verarbeitung von Einfachen Webtoken (SWT) ermöglichen. Informationen zu diesem Beispiel und zu anderen für WIF verfügbaren Beispielen und zu ihren Downloadmöglichkeiten finden Sie unter WIF-Codebeispielindex.

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;
}

Hinweise

Standardmäßig löst diese Methode eine Ausnahme aus NotImplementedException .

Wird von Implementierungen der SecurityTokenService -Klasse aufgerufen.

Gilt für: