在多租户系统中使用JWT和外部身份验证服务器进行Nginx身份验证

发布时间:2020-01-14 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了在多租户系统中使用JWT和外部身份验证服务器进行Nginx身份验证 脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在建立一个以Nginx为首的多租户系统.

我希望所有命中Nginx的请求都首先被“过滤”,以确定它们是否具有有效的JWT.如果没有,应该对外部身份验证服务器进行“调出”,该服务器将执行SAML / SSO并返回JWT或“假”.如果为假,则返回401.

如果存在有效的JWT,则需要对其进行解释并提取租户名称.然后,根据请求路径,将需要修改url / POST主体以包含正确的租户(我们正在使用Elasticsearch,并且需要确保仅允许租户查询自己的索引)

身份验证服务器将使用php构建,因此我们只需要’过滤器’部分和调用Auth服务器的有效方法即可.是否有任何现成的Nginx模块可以解决此要求?还是Lua是我最好的选择?我是Nginx-er的新手.

最佳答案
Nginx有一个更好,更简单的基于JWT的身份验证模块.
高度可配置.
https://github.com/tarachandverma/nginx-openidc

您可以配置多个依赖方.
https://github.com/tarachandverma/nginx-openidc/blob/master/test-conf/oidc-config.xml#L12

<!-- relying parties configuration -->
 <relyingParties default="282412598309-545pvmsh9r23f4k1o7267744s59sod6v.apps.googleusercontent.com">
    <relyingParty clientID="282412598309-545pvmsh9r23f4k1o7267744s59sod6v.apps.googleusercontent.com" clientSecret="xxxxx" domain=".com" validateNonce="true">
        <description>nginx oidc demo</description>
        <redirectUri>http://ngx-oidc-demo.com/oauth2/callback</redirectUri>
    </relyingParty>
 </relyingParties>

总结

以上是脚本之家为你收集整理的在多租户系统中使用JWT和外部身份验证服务器进行Nginx身份验证 全部内容,希望文章能够帮你解决在多租户系统中使用JWT和外部身份验证服务器进行Nginx身份验证 所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:76874919,请注明来意。

脚本之家官方公众号

微信公众号搜索 “ 程序精选 ” ,选择关注!

微信公众号搜索 “ 程序精选 ” ,选择关注!
精选程序员所需精品干货内容!

标签:nginx