[16.0.0.4 et ultérieur]

Consommation des jetons JWT dans Liberty

Vous pouvez vérifier et analyser les jetons JWT par programmation en configurant l'élément de consommateur JWT dans la configuration du serveur et en implémentant les API com.ibm.websphere.security.jwt.JwtConsumer et com.ibm.websphere.security.jwt.JwtToken dans vos applications.

Pourquoi et quand exécuter cette tâche

Pour obtenir des informations sur les API JWT, veuillez vous reporter à la documentation sur les jetons Web JSON Java ou à la documentation d'API fournie dans le produit dans le répertoire ${wlp.install.dir}/dev.

Procédure

  1. Dans le fichier server.xml, ajoutez la fonction jwt-1.0.
    <featureManager>
        <feature>jwt-1.0</feature>
        ...
    </featureManager>
  2. Configurez le consommateur JWT en modifiant l'élément jwtConsumer.

    Pour obtenir des informations sur les attributs jwtConsumer que vous pouvez configurer, consultez Consommateur JWT (jwtConsumer).

    Lorsque vous ajoutez la fonction jwt-1.0 et sauvegardez vos modifications, Liberty ajoute l'élément jwtConsumer par défaut suivant.
    <jwtConsumer id="defaultJWTConsumer">
    </jwtConsumer>
    Dans cette configuration par défaut, les valeurs suivantes sont implicites :
    • L'en-tête alg du JWT consommé est RS256. Vous pouvez configurer cette valeur sur l'attribut signatureAlgorithm.
    • Un JWT est considéré comme valide durant les 5 minutes des revendications exp, nbf et iat. Vous pouvez configurer cette valeur sur l'attribut clockSkew.

    Vous pouvez reconfigurer cet élément jwtConsumer par défaut ou créer un ou plusieurs autres éléments jwtConsumer. Chaque élément jwtConsumer doit avoir une chaîne unique à URL sécurisée spécifiée comme l'attribut id. Si l'ID est manquant, l'élément jwtConsumer n'est pas traité.

    Pour les jetons JWT qui sont signés avec RS256 et un certificat X.509, vous devez configurer les attributs trustStoreRef et trustAliasName pour pouvoir localiser la clé de vérification de signature.
    1. Importez le certificat X.509 de l'émetteur JWT dans le magasin de clés de confiance.
    2. Dans l'élément jwtConsumer, spécifiez l'ID du magasin de clés de confiance et l'alias de certificat.
      <jwtConsumer id="defaultJWTConsumer" trustStoreRef="truststore_id" trustAliasName="certificate_alias">
      </jwtConsumer>
  3. Vérifiez et analysez les jetons JWT par programmation en implémentant les API com.ibm.websphere.security.jwt.JwtConsumer et com.ibm.websphere.security.jwt.JwtToken dans votre application.

    Pour plus d'informations, veuillez vous reporter à la documentation sur les jetons Web JSON Java.

    1. Créez un objet JwtConsumer
      Si vous ne spécifiez pas un ID de configuration, l'objet est lié à la configuration de jwtConsumer par défaut.
      com.ibm.websphere.security.jwt.JwtConsumer jwtConsumer = JwtConsumer.create();
      Si vous spécifiez un ID de configuration, l'objet est lié à la configuration de jwtConsumer avec l'ID spécifié.
      com.ibm.websphere.security.jwt.JwtConsumer jwtConsumer = JwtConsumer.create("jwtConsumer_configuration_id");
    2. Vérifiez et analysez un jeton JWT en implémentant l'API com.ibm.websphere.security.jwt.JwtToken.
      JwtToken jwtToken = jwtConsumer.createJwt("Base64_encoded_JWT_token>");

Icône indiquant le type de rubrique Rubrique Tâche

Nom du fichier : twlp_sec_consume_jwt.html