SecurityTokenService.Issue(ClaimsPrincipal, RequestSecurityToken) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Émet un jeton de sécurité.
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
Paramètres
- principal
- ClaimsPrincipal
ClaimsPrincipal qui représente l'identité du demandeur du jeton.
- request
- RequestSecurityToken
RequestSecurityToken qui représente la demande de jeton de sécurité. Cela inclut le message de demande ainsi que d'autres informations connexes clientes, telles que le contexte d'autorisation.
Retours
RequestSecurityTokenResponse qui contient le jeton de sécurité émis.
Remarques
Cette méthode implémente la liaison issue définie dans la spécification WS-Trust. L’implémentation par défaut de la Issue méthode traite la requête entrante (RST) via un pipeline d’émission de jetons (émission de revendications) et retourne une réponse (RSTR) qui contient un jeton de sécurité avec les revendications appropriées pour authentifier le demandeur auprès du fournisseur de ressources ou une exception appropriée. Le pipeline d’émission de jetons dans l’implémentation par défaut se compose d’appels aux méthodes suivantes (de la SecurityTokenService classe ).
Méthode ValidateRequest permettant de valider la requête (RST).
Méthode GetScope permettant d’obtenir un Scope objet qui contient des informations sur la partie de confiance associée à la demande. Vous devez remplacer cette méthode. Si GetScope retourne
null
, un InvalidOperationException est levée.Méthode CreateSecurityTokenDescriptor permettant de retourner un descripteur de jeton de sécurité basé sur le RST et l’objet Scope retourné à l’étape précédente. Le descripteur de jeton de sécurité (SecurityTokenDescriptor) contient des informations sur la demande dans un formulaire qui peut être utilisé par un gestionnaire de jetons. La SecurityTokenService.SecurityTokenDescriptor propriété est définie sur le descripteur retourné par l’appel. Si
null
est retourné ou si la SigningCredentials propriété du descripteur estnull
, un InvalidOperationException est levée. L’exception est également levée si la Scope.TokenEncryptionRequired propriété esttrue
, mais que la EncryptingCredentials propriété sur le descripteur retourné estnull
.Méthode GetSecurityTokenHandler permettant d’obtenir le gestionnaire de jetons approprié en fonction du type de jeton demandé. Si
null
est retourné, un NotImplementedException est levée.Méthode GetIssuerName permettant d’obtenir le nom de l’émetteur pour le jeton. Lève un InvalidOperationException si le nom est
null
ou vide ; sinon, définit la TokenIssuerName propriété sur le descripteur.Méthode GetTokenLifetime permettant d’obtenir la durée de vie du jeton et définit la Lifetime propriété sur le descripteur.
Méthode GetProofToken permettant d’obtenir le jeton de preuve à inclure dans le jeton émis et définit la Proof propriété sur le descripteur.
Méthode GetOutputClaimsIdentity permettant d’obtenir les revendications à inclure dans le jeton émis et définit la Subject propriété sur le descripteur. Vous devez remplacer cette méthode.
Méthode GetResponse permettant de créer une réponse (RSTR) qui contient le jeton émis.
Vous pouvez remplacer la Issue méthode pour implémenter un pipeline d’émission de jetons personnalisé. Toutefois, cela n’est généralement pas nécessaire dans les environnements de développement et de test pour lesquels la plupart des implémentations personnalisées de la SecurityTokenService classe sont prévues. Dans la plupart de ces cas, vous remplacez les GetOutputClaimsIdentity méthodes et GetScope et, éventuellement, remplacez la ValidateRequest méthode pour fournir un STS serviceable pour votre environnement. Si une personnalisation supplémentaire est nécessaire, vous pouvez souvent la fournir en remplaçant les méthodes qui implémentent chaque étape du pipeline d’émission de jetons par défaut répertorié ci-dessus.