Nginx使用ngx-http-auth-jwt-module验证JWT失败:解析错误码22
Nginx ngx-http-auth-jwt-module JWT解析失败(错误码22)问题
我在Nginx层面使用ngx-http-auth-jwt-module验证JWT令牌时,Nginx日志持续出现「failed to parse JWT, error code 22」错误。以下是测试情况:
- 自定义密钥搭配自定义令牌:无法通过验证
- 模块官方提供的密钥搭配对应令牌:验证正常
- 模块官方提供的密钥搭配自定义令牌:无法通过验证
我分别尝试了HS256和RSA256两种密钥算法,均出现相同的解析失败错误。
我的Nginx配置
server { listen 443 ssl; server_name auth.mylocaldev.com.com www.auth.mylocaldev.com.com; ssl_certificate /etc/nginx/ssl/mylocaldev.crt; ssl_certificate_key /etc/nginx/ssl/mylocaldev.key; location /hsa { proxy_pass https://mybackend.dev/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_cache_bypass $http_upgrade; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; auth_jwt_enabled on; auth_jwt_key "00112233445566778899AABBCCDDEEFF00112233445566778899AABBCCDDEEFF"; auth_jwt_algorithm HS256; } }
无法通过验证的自定义令牌
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxMjM0NSwiZm9vIjoiYmFyIn0.hSVab6LHsl2K-G1SRHRZshgE_Pf8JBohnkWQws_zJNE
可正常验证的令牌
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJzb21lLWxvbmctdXVpZCIsImZpcnN0TmFtZSI6ImhlbGxvIiwibGFzdE5hbWUiOiJ3b3JsZCIsImVtYWlsQWRkcmVzcyI6ImhlbGxvd29ybGRAZXhhbXBsZS5jb20iLCJyb2xlcyI6WyJ0aGlzIiwidGhhdCIsInRoZW90aGVyIl0sImlzcyI6Imlzc3VlciIsInBlcnNvbklkIjoiNzViYjNjYzctYjkzMy00NGYwLTkzYzYtMTQ3YjA4MmZhZGI1IiwiZXhwIjoxOTA4ODM1MjAwLCJpYXQiOjE0ODg4MTk2MDAsInVzZXJuYW1lIjoiaGVsbG8ud29ybGQifQ.r8tG8IZheiQ-i6HqUYyJj9V6dipgcQ4ZIdxau6QCZDo
内容的提问来源于stack exchange,提问作者Alan
相关产品推荐
相关产品推荐

