Zik*_*kes 7 authentication nginx
我正在一个公共域下构建一个应用程序生态系统,每个应用程序都在一个单独的子域下.我已经为生态系统构建了一个身份验证应用程序,但它需要专门配置其他应用程序才能使用它.有没有办法配置nginx来管理用户会话,可能将用户信息作为标题转发到各种应用程序?
Ana*_*oly 11
让我向您展示一个可以与Nginx一起使用的跨应用程序身份验证的常见模式:
1)构建名为auth_service的独立服务,根据需要独立于Web应用程序工作
2)每个子域应用程序将具有代理相同身份验证服务的单独位置
location = /auth {
proxy_pass http://auth_service.localhost/authenticate;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
}
Run Code Online (Sandbox Code Playgroud)
3)个人网络应用使用"/ auth"位置来传递登录/传递(基于POST数据,标题或临时标记)
4)独立服务的处理程序"/ authenticate"接受web apps login/pass,如果失败则返回200或401
这种方法的根源是"/ auth"位置位于每个自己的基于子域的应用程序上,服务器端将调用调度到单个身份验证端点,可以有效地重复使用,并且可以避免代码重复.
默认情况下不构建此模块Auth Request,但附带源代码.在使用之前,只需使用--with-http_auth_request_module选项编译Nginx.
更新:自Nginx 1.5.4以来,这个插件是标准发行版,无需单独编译.
归档时间: |
|
查看次数: |
2790 次 |
最近记录: |