1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_autht_jwt - Serveur HTTP Apache Version 2.5</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur HTTP Apache Version 2.5</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_autht_jwt</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_autht_jwt.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_autht_jwt.html" title="Français"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification à base de jetons utilisant les jetons JWT</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>autht_jwt_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_autht_jwt.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module permet à des frontaux d'interprétation de jetons comme
<code class="module"><a href="../mod/mod_auth_bearer.html">mod_auth_bearer</a></code> d'authentifier les utilisateurs en
vérifiant un jeton JWT comme décrit dans la <a href="http://www.ietf.org/rfc/rfc7519.txt">RFC 7519</a>.</p>
<p>Un jeton JWT est lu depuis l'en-tête <var>Authorization</var> avec un
<var>auth-scheme</var> de <var>Bearer</var>.</p>
<p>Lorsqu'on utilise <code class="module"><a href="../mod/mod_auth_bearer.html">mod_auth_bearer</a></code>, ce module est invoqué
à l'aide de la directive <code class="directive"><a href="../mod/mod_auth_bearer.html#authbearerprovider">AuthBearerProvider</a></code> avec la valeur
<code>jwt</code>.</p>
<p>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 <var>Authorization</var> en tant que
jeton <var>Bearer</var>.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#authtjwtclaim">AuthtJwtClaim</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authtjwtdriver">AuthtJwtDriver</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authtjwtsign">AuthtJwtSign</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authtjwtverify">AuthtJwtVerify</a></li>
</ul>
<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_autht_jwt">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_autht_jwt">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li>
<code class="directive"><a href="../mod/mod_auth_bearer.html#authbearerprovider">AuthBearerProvider</a></code>
</li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authtjwtclaim" id="authtjwtclaim">Directive</a> <a name="AuthtJwtClaim" id="AuthtJwtClaim">AuthtJwtClaim</a> <a title="Lien permanent" href="#authtjwtclaim" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une demande avec le nom et l'expression donnés ou annule la
définition d'une demande avec le nom donné</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthtJwtVerify <var>[set|unset]</var> <var>name</var> [<var>value</var>]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autht_jwt</td></tr>
</table>
<p>La directive <code class="directive">AuthtJwtClaim</code> permet d'ajouter et/ou
supprimer des demandes dans les jetons transmis au serveur ou service
d'arrière-plan.</p>
<p>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.</p>
<div class="example"><h3>Exemple avec transmission de l'utilisateur distant</h3><pre class="prettyprint lang-config"><Location "/secure">
AuthtJwtClaim set sub %{REMOTE_USER}
AuthtJwtSign hs256 file "/www/conf/jwt.secret"
</Location></pre>
</div>
<p>Lorsque la définition d'une demande est annulée, la demande précédemment
définie est enlevée du jeton.</p>
<div class="example"><h3>Exemple avec annulation de la définition d'une demande</h3><pre class="prettyprint lang-config">AuthtJwtClaim set my-claim present
<Location "/secure">
AuthtJwtClaim set sub %{REMOTE_USER}
AuthtJwtClaim unset my-claim
AuthtJwtSign hs256 file "/www/conf/jwt.secret"
</Location></pre>
</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authtjwtdriver" id="authtjwtdriver">Directive</a> <a name="AuthtJwtDriver" id="AuthtJwtDriver">AuthtJwtDriver</a> <a title="Lien permanent" href="#authtjwtdriver" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le nom du pilote de chiffrement sous-jacent à utiliser</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthtJwtDriver <var>name</var> <var>[param[=value]]</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autht_jwt</td></tr>
</table>
<p>La directive <code class="directive">AuthtJwtDriver</code> 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.</p>
<p>Suivez les instructions de la directive <code class="directive"><a href="../mod/mod_session_crypto.html#sessioncryptodriver">SessionCryptoDriver</a></code> pour définir le
pilote.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authtjwtsign" id="authtjwtsign">Directive</a> <a name="AuthtJwtSign" id="AuthtJwtSign">AuthtJwtSign</a> <a title="Lien permanent" href="#authtjwtsign" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'algorithme de signature JWS et les mot de passe/clé pour signer
un jeton JWT sortant</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthtJwtSign <var>algorithm</var> [<var>type</var> <var>param</var>]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autht_jwt</td></tr>
</table>
<p>La directive <code class="directive">AuthtJwtSign</code> 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.</p>
<p>Si le type d'algorithme est <var>none</var>, 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.</p>
<p>Définissez les demandes à envoyer dans le jeton en utilisant la directive
<code class="directive"><a href="#authtjwtclaim">AuthtJwtClaim</a></code>. La demande
<var>sub</var> est utilisée pour transmettre l'utilisateur distant.</p>
<div class="example"><h3>Exemple sans vérification</h3><pre class="prettyprint lang-config"><Location "/mutual-tls-secured">
AuthtJwtClaim set sub %{REMOTE_USER}
AuthtJwtSign none
</Location></pre>
</div>
<p>Si le type d'algorithme est <var>HS256</var>, l'algorithme est défini à
<var>HMAC-SHA256</var>, et le mot de passe est défini dans le fichier
<var>file</var> 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.</p>
<div class="example"><h3>Exemple avec vérification</h3><pre class="prettyprint lang-config"><Location "/secure">
AuthtJwtClaim set sub %{REMOTE_USER}
AuthtJwtSign hs256 file "/www/conf/jwt.secret"
</Location></pre>
</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authtjwtverify" id="authtjwtverify">Directive</a> <a name="AuthtJwtVerify" id="AuthtJwtVerify">AuthtJwtVerify</a> <a title="Lien permanent" href="#authtjwtverify" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'algorithme de signature JWS et les mot de passe/clé pour vérifier
un jeton JWT entrant</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthtJwtVerify <var>algorithm</var> [<var>type</var> <var>param</var>]</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Override">Surcharges autorisées:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_autht_jwt</td></tr>
</table>
<p>La directive <code class="directive">AuthtJwtVerify</code> permet de spécifier
l'algorithme et le mot de passe utilisés pour vérifier les jetons de
titulaire entrants.</p>
<p>Si le type d'algorithme est <var>none</var>, 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.</p>
<p>Si elle est présente, la demande <var>sub</var> est assignée à
REMOTE_USER.</p>
<div class="example"><h3>Exemple sans vérification</h3><pre class="prettyprint lang-config"><Location "/mutual-tls-secured">
AuthType bearer
AuthName example-name
AuthBearerProvider jwt
AuthtJwtVerify none
Require valid-user
</Location></pre>
</div>
<p>Si le type d'algorithme est <var>HS256</var>, l'algorithme est défini à
<var>HMAC-SHA256</var>, et le mot de passe est défini dans le fichier
<var>file</var> 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.</p>
<p>Si la signature est vérifiée, la demande the <var>sub</var>, si elle est
présente, est assignée à REMOTE_USER.</p>
<div class="example"><h3>Exemple avec vérification</h3><pre class="prettyprint lang-config"><Location "/secure">
AuthType bearer
AuthName example-name
AuthBearerProvider jwt
AuthtJwtVerify hs256 file "/www/conf/jwt.secret"
Require valid-user
</Location></pre>
</div>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_autht_jwt.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_autht_jwt.html" title="Français"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_autht_jwt.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2024 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
|