Mercurial > hg > nginx-site
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—прямое использование симметричного ключа | 112 dir—прямое использование симметричного ключа |
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 |