comparison xml/ru/docs/http/ngx_http_auth_jwt_module.xml @ 2768:9dd8c203a54a

Updated docs for the upcoming NGINX Plus release.
author Yaroslav Zhuravlev <yar@nginx.com>
date Wed, 22 Sep 2021 13:47:23 +0300
parents efb3d27dfa23
children 4add6ae1296f
comparison
equal deleted inserted replaced
2767:c56adb7148a4 2768:9dd8c203a54a
7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd"> 7 <!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">
8 8
9 <module name="Модуль ngx_http_auth_jwt_module" 9 <module name="Модуль ngx_http_auth_jwt_module"
10 link="/ru/docs/http/ngx_http_auth_jwt_module.html" 10 link="/ru/docs/http/ngx_http_auth_jwt_module.html"
11 lang="ru" 11 lang="ru"
12 rev="11"> 12 rev="12">
13 13
14 <section id="summary"> 14 <section id="summary">
15 15
16 <para> 16 <para>
17 Модуль <literal>ngx_http_auth_jwt_module</literal> (1.11.3) 17 Модуль <literal>ngx_http_auth_jwt_module</literal> (1.11.3)
18 предоставляет возможность авторизации клиента с проверкой предоставляемого 18 предоставляет возможность авторизации клиента с проверкой предоставляемого
19 <link url="https://tools.ietf.org/html/rfc7519">JSON Web Token</link> (JWT) 19 <link url="https://tools.ietf.org/html/rfc7519">JSON Web Token</link> (JWT)
20 при помощи указанных ключей. 20 при помощи указанных ключей.
21 JWT claims могут быть зашифрованы в структуре 21 Модуль поддерживает
22 <link url="https://tools.ietf.org/html/rfc7515">JSON Web Signature</link> (JWS) 22 <link url="https://tools.ietf.org/html/rfc7515">JSON Web Signature</link> (JWS),
23 или
24 <link url="https://tools.ietf.org/html/rfc7516">JSON Web Encryption</link> (JWE) 23 <link url="https://tools.ietf.org/html/rfc7516">JSON Web Encryption</link> (JWE)
25 (1.19.7). 24 (1.19.7) и Nested JWT (1.21.0).
26 Модуль может использоваться для настройки аутентификации 25 Модуль может использоваться для настройки аутентификации
27 <link url="http://openid.net/specs/openid-connect-core-1_0.html">OpenID Connect</link>. 26 <link url="http://openid.net/specs/openid-connect-core-1_0.html">OpenID Connect</link>.
28 </para> 27 </para>
29 28
30 <para> 29 <para>
96 95
97 </list> 96 </list>
98 </para> 97 </para>
99 98
100 <para> 99 <para>
101 Алгоритмы JWE для управления ключом (1.19.7): 100 Алгоритмы JWE для управления ключом (1.19.9):
102 <list type="bullet"> 101 <list type="bullet">
103 102
104 <listitem> 103 <listitem>
105 A128KW, A192KW, A256KW 104 A128KW, A192KW, A256KW
106 </listitem> 105 </listitem>
110 </listitem> 109 </listitem>
111 110
112 <listitem> 111 <listitem>
113 dir&mdash;прямое использование симметричного ключа 112 dir&mdash;прямое использование симметричного ключа
114 в качестве ключа шифрования содержимого 113 в качестве ключа шифрования содержимого
114 </listitem>
115
116 <listitem>
117 RSA-OAEP, RSA-OAEP-256, RSA-OAEP-384, RSA-OAEP-512 (1.21.0)
115 </listitem> 118 </listitem>
116 119
117 </list> 120 </list>
118 </para> 121 </para>
119 122
239 <link url="https://tools.ietf.org/html/rfc7517#section-5">JSON Web Key Set</link> 242 <link url="https://tools.ietf.org/html/rfc7517#section-5">JSON Web Key Set</link>
240 для проверки подписи JWT. 243 для проверки подписи JWT.
241 В значении параметра допустимо использование переменных. 244 В значении параметра допустимо использование переменных.
242 </para> 245 </para>
243 246
247 <para>
248 На одном уровне может быть указано
249 несколько директив <literal>auth_jwt_key_file</literal> (1.21.1):
250 <example>
251 auth_jwt_key_file conf/keys.json;
252 auth_jwt_key_file conf/key.jwk;
253 </example>
254 Если хотя бы один из указанных ключей не может быть загружен или обработан,
255 nginx вернёт ошибку
256 <http-status code="500" text="Internal Server Error"/>.
257 </para>
258
244 </directive> 259 </directive>
245 260
246 261
247 <directive name="auth_jwt_key_request"> 262 <directive name="auth_jwt_key_request">
248 <syntax><value>uri</value></syntax> 263 <syntax><value>uri</value></syntax>
277 proxy_cache foo; 292 proxy_cache foo;
278 proxy_pass http://idp.example.com/keys; 293 proxy_pass http://idp.example.com/keys;
279 } 294 }
280 } 295 }
281 </example> 296 </example>
297 На одном уровне может быть указано
298 несколько директив <literal>auth_jwt_key_request</literal> (1.21.1):
299 <example>
300 auth_jwt_key_request /jwks_uri;
301 auth_jwt_key_request /jwks2_uri;
302 </example>
303 Если хотя бы один из указанных ключей не может быть загружен или обработан,
304 nginx вернёт ошибку
305 <http-status code="500" text="Internal Server Error"/>.
282 </para> 306 </para>
283 307
284 </directive> 308 </directive>
285 309
286 310
300 <link url="https://tools.ietf.org/html/rfc7519#section-4.1.5">nbf</link>. 324 <link url="https://tools.ietf.org/html/rfc7519#section-4.1.5">nbf</link>.
301 </para> 325 </para>
302 326
303 </directive> 327 </directive>
304 328
329
305 <directive name="auth_jwt_type"> 330 <directive name="auth_jwt_type">
306 <syntax><value>signed</value> | <value>encrypted</value></syntax> 331 <syntax><value>signed</value> |
332 <value>encrypted</value> |
333 <value>nested</value></syntax>
307 <default>signed</default> 334 <default>signed</default>
308 <context>http</context> 335 <context>http</context>
309 <context>server</context> 336 <context>server</context>
310 <context>location</context> 337 <context>location</context>
311 <context>limit_except</context> 338 <context>limit_except</context>
312 <appeared-in>1.19.7</appeared-in> 339 <appeared-in>1.19.7</appeared-in>
313 340
314 <para> 341 <para>
315 Задаёт ожидаемый тип JSON Web Token: 342 Задаёт ожидаемый тип JSON Web Token:
316 JWS (<literal>signed</literal>) или 343 JWS (<literal>signed</literal>),
317 JWE (<literal>encrypted</literal>). 344 JWE (<literal>encrypted</literal>)
345 или подписанный и затем зашифрованный
346 Nested JWT (<literal>nested</literal>) (1.21.0).
347 </para>
348
349 </directive>
350
351
352 <directive name="auth_jwt_require">
353 <syntax><value>значение</value> ...</syntax>
354 <default/>
355 <context>http</context>
356 <context>server</context>
357 <context>location</context>
358 <context>limit_except</context>
359 <appeared-in>1.21.2</appeared-in>
360
361 <para>
362 Задаёт дополнительные условия для проверки JWT.
363 В качестве значения можно использовать текст, переменные и их комбинации.
364 Для успешной аутентификации необходимо, чтобы
365 значение всех строковых параметров было непустое или не равно “0”.
366 <example>
367 map $jwt_claim_iss $valid_jwt_iss {
368 "good" 1;
369 }
370 ...
371
372 auth_jwt_require $valid_jwt_iss;
373 </example>
318 </para> 374 </para>
319 375
320 </directive> 376 </directive>
321 377
322 </section> 378 </section>
353 доступны только после дешифрования, которое происходит в 409 доступны только после дешифрования, которое происходит в
354 <link doc="../dev/development_guide.xml" id="http_phases">Access</link>-фазе. 410 <link doc="../dev/development_guide.xml" id="http_phases">Access</link>-фазе.
355 </para> 411 </para>
356 </tag-desc> 412 </tag-desc>
357 413
414 <tag-name id="var_jwt_payload"><var>$jwt_payload</var></tag-name>
415 <tag-desc>
416 возвращает расшифрованную полезную нагрузку (payload) верхнего уровня
417 для <literal>вложенных</literal>
418 или <literal>зашифрованных</literal> токенов (1.21.2).
419 Для вложенных токенов возвращает внутренний JWS токен.
420 Для зашифрованных токенов возвращает JSON с claims.
421 </tag-desc>
422
358 </list> 423 </list>
359 </para> 424 </para>
360 425
361 </section> 426 </section>
362 427