Share via


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 範例。 此範例提供自定義類別,可讓您處理簡單 Web 令牌 (SWT) 。 如需此範例和其他可供 WIF 下載範例的資訊,請參閱 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;
}

備註

根據預設,這個方法會擲回例外狀況 NotImplementedException

從類別的實作呼叫 SecurityTokenService

適用於