SecurityTokenService.Issue(ClaimsPrincipal, RequestSecurityToken) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Emite um token de segurança.
public:
virtual System::IdentityModel::Protocols::WSTrust::RequestSecurityTokenResponse ^ Issue(System::Security::Claims::ClaimsPrincipal ^ principal, System::IdentityModel::Protocols::WSTrust::RequestSecurityToken ^ request);
public virtual System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse Issue(System.Security.Claims.ClaimsPrincipal principal, System.IdentityModel.Protocols.WSTrust.RequestSecurityToken request);
abstract member Issue : System.Security.Claims.ClaimsPrincipal * System.IdentityModel.Protocols.WSTrust.RequestSecurityToken -> System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse
override this.Issue : System.Security.Claims.ClaimsPrincipal * System.IdentityModel.Protocols.WSTrust.RequestSecurityToken -> System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse
Public Overridable Function Issue (principal As ClaimsPrincipal, request As RequestSecurityToken) As RequestSecurityTokenResponse
Parâmetros
- principal
- ClaimsPrincipal
A ClaimsPrincipal que representa a identidade do requerente do token.
- request
- RequestSecurityToken
A que representa o pedido de RequestSecurityToken token de segurança. Isto inclui a mensagem de pedido, bem como outras informações relacionadas com o cliente, como o contexto de autorização.
Devoluções
A RequestSecurityTokenResponse que contém o token de segurança emitido.
Observações
Este método implementa a ligação Issue definida na especificação WS-Trust. A implementação padrão do Issue método processa o pedido recebido (RST) através de um pipeline de emissão de tokens (emissão de reivindicações) e devolve ou uma resposta (RSTR) que contém um token de segurança com as reivindicações apropriadas para autenticar o requerente junto do RP ou uma exceção apropriada. O pipeline de emissão de tokens na implementação padrão consiste em chamadas para os seguintes métodos (da SecurityTokenService classe).
O ValidateRequest método para validar o pedido (RST).
O GetScope método para obter um Scope objeto que contenha informação sobre a parte confiável (RP) associada ao pedido. Deve ultrapassar este método. Se GetScope devolver
null, a InvalidOperationException é lançado.O CreateSecurityTokenDescriptor método para devolver um descritor de token de segurança baseado na RST e no Scope objeto devolvido no passo anterior. O descritor de token de segurança (SecurityTokenDescriptor) contém informações sobre o pedido numa forma que pode ser usada por um gestor de tokens. A SecurityTokenService.SecurityTokenDescriptor propriedade é definida para o descritor devolvido pela chamada. Se
nullfor devolvido ou se a SigningCredentials propriedade do descritor fornull, e InvalidOperationException é lançado. A exceção também é lançada se a Scope.TokenEncryptionRequired propriedade fortruemas a EncryptingCredentials propriedade no descritor devolvido fornull.O GetSecurityTokenHandler método para obter o gestor de tokens apropriado com base no tipo de token solicitado. Se
nullfor devolvido, a NotImplementedException é lançado.O GetIssuerName método para obter o nome do emissor para o token. Lança um InvalidOperationException se o nome for
nullou vazia; caso contrário, define a TokenIssuerName propriedade no descritor.O GetTokenLifetime método para obter a vida útil do token define a Lifetime propriedade no descritor.
O GetProofToken método para incluir o token proof no token emitido define a Proof propriedade no descritor.
O GetOutputClaimsIdentity método para incluir as reivindicações no token emitido define a Subject propriedade no descritor. Deve ultrapassar este método.
O GetResponse método para criar uma resposta (RSTR) que contém o token emitido.
Pode sobrescrever o Issue método para implementar um pipeline personalizado de emissão de tokens; no entanto, isto normalmente não é necessário nos ambientes de desenvolvimento e teste para os quais a maioria das implementações personalizadas da SecurityTokenService classe se destina. Em muitos destes casos, sobrepõe-se os GetOutputClaimsIdentity métodos and GetScope e, opcionalmente, sobrepõe-se ao ValidateRequest método para fornecer um STS funcional para o seu ambiente. Se for necessária personalização adicional, pode frequentemente fornecê-la sobrepondo os métodos que implementam cada etapa do pipeline de emissão de tokens padrão listado acima.