Partager via


Génération d'un STS

Le service d'émission de jeton de sécurité est le composant d'une autorité émettrice responsable de l'acceptation des demandes entrantes, de la validation et du déchiffrement des jetons de sécurité entrants, de l'extraction des revendications de jetons entrants, de l'empaquetage des revendications dans des jetons de sécurité sortants, et du chiffrement des jetons de sécurité sortants. WIF permet de générer facilement votre propre service d'émission de jeton de sécurité (STS) en gérant ces détails, et fournit également des points d'extensibilité qui permettent d'implémenter votre stratégie de sécurité. Une stratégie répond aux questions telles que celles qui suivent.

  • Pour quelles applications de partie de confiance dois-je fournir des jetons de sécurité ?

  • Quelles sont les revendications importantes pour ces applications ?

  • Comment dois-je authentifier des utilisateurs ?

  • Est-ce que différentes applications ont des conditions de sécurité différentes ?

  • Avec quels partenaires dois-je fédérer ?

Dans la plupart des cas, il est préférable d'utiliser un STS existant tel qu'Active Directory® Federation Services (AD FS) 2.0. Utilisez WIF si vous devez implémenter une stratégie de sécurité que les STS existants ne prennent pas en charge.

Pour plus d'informations sur la génération d'un STS, consultez Procédure : Générer un STS ASP.NET et Procédure : Générer un STS WCF.

Architecture STS

Vous pouvez créer votre propre STS à partir de SecurityTokenService, fourni par WIF. Vous devez implémenter les deux méthodes suivantes sur cette classe :

  1. GetScope. Cette méthode prend le IClaimsPrincipal de l'appelant et le RST entrant et retourne la configuration pour la demande d'émission du jeton, représentée par la classe Scope. Dans cette méthode, vous pouvez normaliser l'adresse de la partie de confiance et choisir les clés de signature et de chiffrement. En général, les jetons de sécurité sont chiffrés afin que seule la partie de confiance puisse les lire.

    EncryptingCredentials détermine si les jetons sont chiffrés. TokenEncryptionRequired et SymmetricKeyEncryptionRequired prennent également la valeur true par défaut pour empêcher le STS d'émettre des jetons non sécurisés.

  2. GetOutputClaimsIdentity. Cette méthode prend le IClaimsPrincipal de l'appelant, le RST entrant et l'objet Scope retourné par GetScope, et retourne le IClaimsIdentity à inclure dans le jeton émis. Vous pouvez ainsi choisir les revendications incluses dans le jeton.

Pour voir des exemples d'implémentation de ces méthodes, consultez les exemples ou les rubriques Site Web du service d'émission de jeton de sécurité ASP.NET et Service d'émission de jeton de sécurité (STS) WCF.