Serveur HTTP Apache Version 2.5
Description: | Authentification à base de jetons utilisant les jetons JWT |
---|---|
Statut: | Base |
Identificateur de Module: | autht_jwt_module |
Fichier Source: | mod_autht_jwt.c |
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.
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.
<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.
AuthtJwtClaim set my-claim present <Location "/secure"> AuthtJwtClaim set sub %{REMOTE_USER} AuthtJwtClaim unset my-claim AuthtJwtSign hs256 file "/www/conf/jwt.secret" </Location>
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.
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.
<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.
<Location "/secure"> AuthtJwtClaim set sub %{REMOTE_USER} AuthtJwtSign hs256 file "/www/conf/jwt.secret" </Location>
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.
<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.
<Location "/secure"> AuthType bearer AuthName example-name AuthBearerProvider jwt AuthtJwtVerify hs256 file "/www/conf/jwt.secret" Require valid-user </Location>