<-
Apache > Serveur HTTP > Documentation > Version 2.5 > Modules

Module Apache mod_autht_jwt

Langues Disponibles:  en  |  fr 

Description:Authentification à base de jetons utilisant les jetons JWT
Statut:Base
Identificateur de Module:autht_jwt_module
Fichier Source:mod_autht_jwt.c

Sommaire

Ce module permet à des frontaux d'interprétation de jetons comme mod_auth_bearer d'authentifier les utilisateurs en vérifiant un jeton JWT comme décrit dans la RFC 7519.

Un jeton JWT est lu depuis l'en-tête Authorization avec un auth-scheme de Bearer.

Lorsqu'on utilise mod_auth_bearer, ce module est invoqué à l'aide de la directive AuthBearerProvider avec la valeur jwt.

Ce module peut aussi être utilisé isolément pour générer des jetons JWT destinés à être transmis vers un serveur ou service d'arrière-plan. Les demandes sont incluses dans un jeton qui est ensuite éventuellement signé, puis transmis à l'aide de l'en-tête Authorization en tant que jeton Bearer.

Directives

Traitement des bugs

Voir aussi

top

Directive AuthtJwtClaim

Description:Définit une demande avec le nom et l'expression donnés ou annule la définition d'une demande avec le nom donné
Syntaxe:AuthtJwtVerify [set|unset] name [value]
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_autht_jwt

La directive AuthtJwtClaim permet d'ajouter et/ou supprimer des demandes dans les jetons transmis au serveur ou service d'arrière-plan.

Lorsqu'une demande est définie, sa valeur est le résultat d'une expression. L'expression peut inclure des paramètres issus d'un certificat digital ou le nom de l'utilisateur qui a été authentifié auprès d'Apache httpd.

Exemple avec transmission de l'utilisateur distant

<Location "/secure">
  AuthtJwtClaim set sub %{REMOTE_USER}
  AuthtJwtSign hs256 file "/www/conf/jwt.secret"
</Location>

Lorsque la définition d'une demande est annulée, la demande précédemment définie est enlevée du jeton.

Exemple avec annulation de la définition d'une demande

AuthtJwtClaim set my-claim present
<Location "/secure">
  AuthtJwtClaim set sub %{REMOTE_USER}
  AuthtJwtClaim unset my-claim
  AuthtJwtSign hs256 file "/www/conf/jwt.secret"
</Location>
top

Directive AuthtJwtDriver

Description:Définit le nom du pilote de chiffrement sous-jacent à utiliser
Syntaxe:AuthtJwtDriver name [param[=value]]
Contexte:configuration globale, serveur virtuel
Statut:Base
Module:mod_autht_jwt

La directive AuthtJwtDriver permet de spécifier le nom du pilote de chiffrement à utiliser pour la signature et la vérification. S'il n'est pas spécifier, sa valeur par défaut est celle du pilote recommandé compilée dans APR-util.

Suivez les instructions de la directive SessionCryptoDriver pour définir le pilote.

top

Directive AuthtJwtSign

Description:L'algorithme de signature JWS et les mot de passe/clé pour signer un jeton JWT sortant
Syntaxe:AuthtJwtSign algorithm [type param]
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_autht_jwt

La directive AuthtJwtSign permet de spécifier l'algorithme et le mot de passe utilisés pour signer les jetons de titulaire sortants transmis à un serveur ou service.

Si le type d'algorithme est none, le jeton ne sera pas protégé. A n'utiliser qu'avec les clients de confiance et lorsque le canal est protégé d'une autre manière comme l'authentification mutuelle TLS ou les sockets de domaine unix.

Définissez les demandes à envoyer dans le jeton en utilisant la directive AuthtJwtClaim. La demande sub est utilisée pour transmettre l'utilisateur distant.

Exemple sans vérification

<Location "/mutual-tls-secured">
  AuthtJwtClaim set sub %{REMOTE_USER}
  AuthtJwtSign none
</Location>

Si le type d'algorithme est HS256, l'algorithme est défini à HMAC-SHA256, et le mot de passe est défini dans le fichier file spécifié comme troisième paramètre. Le contenu du jeton de titulaire est encore visible, et le canal doit donc encore être protégé contre les écoutes clandestines à l'aide de TLS.

Exemple avec vérification

<Location "/secure">
  AuthtJwtClaim set sub %{REMOTE_USER}
  AuthtJwtSign hs256 file "/www/conf/jwt.secret"
</Location>
top

Directive AuthtJwtVerify

Description:L'algorithme de signature JWS et les mot de passe/clé pour vérifier un jeton JWT entrant
Syntaxe:AuthtJwtVerify algorithm [type param]
Contexte:répertoire, .htaccess
Surcharges autorisées:AuthConfig
Statut:Base
Module:mod_autht_jwt

La directive AuthtJwtVerify permet de spécifier l'algorithme et le mot de passe utilisés pour vérifier les jetons de titulaire entrants.

Si le type d'algorithme est none, le jeton ne sera pas protégé et sera accepté tel quel. A n'utiliser qu'avec les clients de confiance et lorsque le canal est protégé d'une autre manière comme l'authentification mutuelle TLS ou les sockets de domaine unix.

Si elle est présente, la demande sub est assignée à REMOTE_USER.

Exemple sans vérification

<Location "/mutual-tls-secured">
  AuthType bearer
  AuthName example-name
  AuthBearerProvider jwt
  AuthtJwtVerify none
  Require valid-user
</Location>

Si le type d'algorithme est HS256, l'algorithme est défini à HMAC-SHA256, et le mot de passe est défini dans le fichier file spécifié comme troisième paramètre. Le contenu du jeton de titulaire est encore visible, et le canal doit donc encore être protégé contre les écoutes clandestines à l'aide de TLS.

Si la signature est vérifiée, la demande the sub, si elle est présente, est assignée à REMOTE_USER.

Exemple avec vérification

<Location "/secure">
  AuthType bearer
  AuthName example-name
  AuthBearerProvider jwt
  AuthtJwtVerify hs256 file "/www/conf/jwt.secret"
  Require valid-user
</Location>

Langues Disponibles:  en  |  fr 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.