SecurityTokenHandler Classe

Definição

A classe base abstrata para gestores de tokens de segurança.

public ref class SecurityTokenHandler abstract : System::IdentityModel::Configuration::ICustomIdentityConfiguration
public abstract class SecurityTokenHandler : System.IdentityModel.Configuration.ICustomIdentityConfiguration
type SecurityTokenHandler = class
    interface ICustomIdentityConfiguration
Public MustInherit Class SecurityTokenHandler
Implements ICustomIdentityConfiguration
Herança
SecurityTokenHandler
Derivado
Implementações

Exemplos

Os exemplos de código em todos os SecurityTokenHandler tópicos são retirados do Custom Token exemplo. Este exemplo fornece classes personalizadas que permitem o processamento de Simples Web Tokens (SWT). Para informações sobre esta amostra e outras amostras disponíveis para WIF e onde as descarregar, consulte Índice de Exemplos de Código WIF. O XML seguinte mostra como adicionar o manipulador de tokens SWT à coleção dos gestores de tokens.

<system.identityModel>
  <identityConfiguration saveBootstrapContext="true">
    <issuerTokenResolver type="SimpleWebToken.CustomIssuerTokenResolver, SimpleWebToken">
      <AddAudienceKeyPair  symmetricKey="wAVkldQiFypTQ+kdNdGWCYCHRcee8XmXxOvgmak8vSY=" audience="http://localhost:19851/" />
    </issuerTokenResolver>
    <issuerNameRegistry type="RelyingParty.TrustedIssuerNameRegistry, RelyingParty"/>
    <audienceUris>
      <add value="http://localhost:19851/"/>
    </audienceUris>
    <securityTokenHandlers>
      <add type="SimpleWebToken.SimpleWebTokenHandler, SimpleWebToken" />
    </securityTokenHandlers>
  </identityConfiguration>
</system.identityModel>

Observações

A SecurityTokenHandler classe é a classe base da qual todos os manipuladores de tokens de segurança derivam. Um gestor de tokens de segurança é responsável por:

  • Validação de tokens de segurança (SecurityToken) do tipo que pretende processar e empacotamento das reivindicações contidas no token num ClaimsIdentity objeto.

  • Serializar e desserializar tokens de segurança do tipo para o qual foi concebido.

  • Serialização e desserialização de cláusulas identificadoras de chave (SecurityKeyIdentifierClause) que se referem a tokens do tipo que foram concebidas para processar de e para <wsse:SecurityTokenReference> os elementos.

  • Criar tokens de segurança a partir de um SecurityTokenDescriptor objeto passado por implementações da SecurityTokenService classe.

  • Criação de cláusulas identificadoras de chave a partir de um token de segurança para implementações da SecurityTokenService classe.

O Windows Identity Foundation (WIF) fornece os seguintes gestores de tokens de segurança logo de fábrica:

A maioria destas classes expõe membros adicionais que implementam funcionalidades específicas para o processamento dos tokens para os quais a classe foi concebida. Em muitos casos, pode ser melhor derivar de uma destas classes do que diretamente da SecurityTokenHandler classe.

Um gestor de token de segurança pode ser adicionado ou removido de uma coleção de gestores de tokens especificando os <elementos de adicionar>, <remover> ou <limpar> sob o <elemento securityTokenHandlers> num ficheiro de configuração. O SecurityTokenHandlerConfiguration objeto que contém as definições de configuração para a coleção de handlers pode ser acedido através da Configuration propriedade e a coleção de handlers da qual o handler de token pertence pode ser acedida a partir da ContainingCollection propriedade. Podes sobrescrever o LoadCustomConfiguration método para processar quaisquer elementos de configuração personalizados que o teu handler assuma.

A SecurityTokenHandler aula expõe várias outras propriedades e métodos. Dependendo da funcionalidade que escolher implementar, pode sobrescrever alguns ou todos estes membros.

Deve sobrescrever a TokenType propriedade e o GetTokenTypeIdentifiers método para fornecer à infraestrutura WIF informações sobre o tipo de token de segurança para o qual a sua classe foi concebida.

A funcionalidade de validação, serialização e desserialização é exposta através de propriedades ou métodos que indicam se o handler pode executar uma função específica combinada com o(s) método(s) que implementam a funcionalidade. A lista seguinte emparelha as propriedades ou métodos que indicam funcionalidade com os métodos que implementam essa funcionalidade:

Os CreateToken métodos e CreateSecurityTokenReference são chamados do pipeline nas implementações da SecurityTokenService classe.

O DetectReplayedToken método é chamado pela infraestrutura WIF para determinar se o token especificado já foi recebido. Por defeito, este método devolve false, o que indica que o token ainda não foi recebido. Podes sobrepor o método e fornecer lógica para detetar tokens rejogados.

Construtores

Name Description
SecurityTokenHandler()

Chamado a partir de construtores em classes derivadas para inicializar a SecurityTokenHandler classe.

Propriedades

Name Description
CanValidateToken

Recebe um valor que indica se o handler suporta validação de tokens de segurança.

CanWriteToken

Recebe um valor que indica se o handler pode serializar tokens de segurança.

Configuration

Obtém ou define o SecurityTokenHandlerConfiguration objeto que fornece a configuração para a instância atual.

ContainingCollection

Obtém a coleção do handler de tokens que contém a instância atual.

TokenType

Quando sobrescrito numa classe derivada, obtém o tipo do token de segurança processado por esta instância.

Métodos

Name Description
CanReadKeyIdentifierClause(XmlReader)

Devolve um valor que indica se o elemento XML referido pelo leitor XML especificado é uma cláusula identificadora-chave que pode ser desserializada por esta instância.

CanReadToken(String)

Devolve um valor que indica se a cadeia especificada pode ser desserializada como um token do tipo processado por esta instância.

CanReadToken(XmlReader)

Devolve um valor que indica se o elemento XML referenciado pelo leitor XML especificado pode ser lido como um token do tipo processado por esta instância.

CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

Devolve um valor que indica se a cláusula identificadora de chave especificada pode ser serializada por esta instância.

CreateSecurityTokenReference(SecurityToken, Boolean)

Quando sobreposto numa classe derivada, cria-se a referência do token de segurança para tokens processados por essa classe. Este método é normalmente chamado por um serviço de token de segurança (STS).

CreateToken(SecurityTokenDescriptor)

Quando sobreposto numa classe derivada, cria-se um token de segurança usando o descritor do token especificado. Este método é chamado por um serviço de token de segurança (STS).

DetectReplayedToken(SecurityToken)

Quando sobrescrito numa classe derivada, lança uma exceção se o token especificado for detetado como sendo rejogado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetTokenTypeIdentifiers()

Quando sobrescrito numa classe derivada, devolve o conjunto de URIs usados nos pedidos para identificar um token do tipo processado pela classe derivada.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadCustomConfiguration(XmlNodeList)

Quando sobreposto numa classe derivada, carrega uma configuração personalizada a partir do XML.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ReadKeyIdentifierClause(XmlReader)

Quando sobreposto numa classe derivada, desserializa o XML referenciado pelo leitor XML especificado para uma cláusula identificadora de chave que faz referência a um token processado pela classe derivada.

ReadToken(String)

Quando sobreposta numa classe derivada, a cadeia especificada desserializa para um token do tipo processado pela classe derivada.

ReadToken(XmlReader, SecurityTokenResolver)

Quando sobreposto numa classe derivada, desserializa o XML referenciado pelo leitor XML especificado para um token do tipo processado pela classe derivada usando o resolvedor de token especificado.

ReadToken(XmlReader)

Quando sobreposto numa classe derivada, desserializa o XML referenciado pelo leitor XML especificado para um token do tipo processado pela classe derivada.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
TraceTokenValidationFailure(SecurityToken, String)

Rastreia o evento de falha durante a validação dos tokens de segurança quando o rastreio está ativado.

TraceTokenValidationSuccess(SecurityToken)

Rastreia o evento de validação bem-sucedida dos tokens de segurança quando o rastreio está ativado.

ValidateToken(SecurityToken)

Quando sobreposto numa classe derivada, valida o token de segurança especificado. O token deve ser do tipo processado pela classe derivada.

WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

Quando sobreposta numa classe derivada, serializa a cláusula identificadora de chave especificada para XML. A cláusula identificadora de chave deve ser do tipo suportado pela classe derivada.

WriteToken(SecurityToken)

Quando sobrescrito numa classe derivada, serializa o token de segurança especificado para uma cadeia. O token deve ser do tipo processado pela classe derivada.

WriteToken(XmlWriter, SecurityToken)

Quando sobrescrito numa classe derivada, serializa o token de segurança especificado para XML. O token deve ser do tipo processado pela classe derivada.

Aplica-se a

Ver também