【发布时间】:2016-09-20 17:11:25
【问题描述】:
我正在构建一个以 Nginx 为前端的多租户系统。
我希望所有访问 Nginx 的请求首先被“过滤”它们是否具有有效的 JWT。如果没有,则应该向外部身份验证服务器发出“呼出”,该服务器将执行 SAML/SSO 并返回 JWT 或“假”。如果为 false,则返回 401。
如果存在有效的 JWT,则需要对其进行解释并提取租户名称。然后,根据请求路径,需要修改 url/POST 正文以包含正确的租户(我们正在访问 Elasticsearch,需要确保只允许租户查询自己的索引)
身份验证服务器将内置在 php 中,因此我们需要的只是“过滤器”部分和调用身份验证服务器的有效方式。有没有现成的 nginx 模块可以解决这个要求?或者 Lua 是我最好的选择吗?我是一个比较新手的 Nginx-er。
【问题讨论】:
标签: nginx