SecurityTokenHandler.CreateToken(SecurityTokenDescriptor) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.