Поделиться через


SecurityTokenHandler.CreateToken(SecurityTokenDescriptor) Метод

Определение

При переопределении в производном классе создает токен безопасности с помощью заданного дескриптора токена. Этот метод вызывается службой токенов безопасности (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

Параметры

tokenDescriptor
SecurityTokenDescriptor

Дескриптор токена безопасности, на основании которого создается токен. Свойства дескриптора токена задаются до вызова этого метода.

Возвращаемое значение

токен безопасности, соответствующий свойствам дескриптора токена.

Примеры

В следующем коде показано, как переопределить CreateToken метод для создания и возврата маркера из дескриптора маркера. Код взят из Custom Token примера. В этом примере представлены пользовательские классы, обеспечивающие обработку простых веб-маркеров (SWT). Сведения об этом и других примерах, доступных для WIF, и о том, где их можно скачать, см. в разделе WiF Code Sample Index.

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

Комментарии

По умолчанию этот метод создает NotImplementedException исключение.

Вызывается из реализаций SecurityTokenService класса .

Применяется к