我有一个基本的Nginx docker镜像,充当反向代理,目前使用位于我的应用服务器前面的基本身份验证。我正在寻找一种方法将它与我们使用JWT的开发中的SSO解决方案集成,但所有文档都说它需要Nginx +。那么,是否可以在开源Nginx中进行JWT验证,还是需要付费版本?
当然,有开源代码,您可以使用和自定义您的案例(example)。
恕我直言有更好的实现,您可以在您的应用程序前用作“auth代理”。我最喜欢的是keycloak-gatekeeper(您可以将它与任何OpenID IdP一起使用,而不仅仅是Keycloak),它可以提供身份验证,授权,令牌加密,刷新令牌实现,占用空间小......
还有lua-resty-openidc
:https://github.com/zmartzone/lua-resty-openidc
lua-resty-openidc是NGINX实现OpenID Connect依赖方(RP)和/或OAuth 2.0资源服务器(RS)功能的库。
当用作OpenID Connect依赖方时,它使用OpenID Connect Discovery和基本客户端配置文件(即授权代码流)针对OpenID Connect Provider对用户进行身份验证。当用作OAuth 2.0资源服务器时,它可以针对授权服务器验证OAuth 2.0承载访问令牌,或者,如果将JSON Web令牌用于访问令牌,则可以针对预先配置的密钥/密钥进行验证。