如何使用共享nginx和simplesamlphp SSO设置托管闪亮的服务器应用程序?

时间:2018-06-18 10:23:41

标签: nginx shiny saml simplesamlphp

我正在使用自己的PHP身份验证模块运行NGINX + Shiny Server设置,该模块通过我们的LDAP连接,工作正常。

我收到了一位客户的要求,他们想要使用SSO并想要验证他们自己的身份验证。我安装了SimpleSamlPHP并创建了他们的ADFS设置。到现在为止还挺好。

当我想在此身份验证设置后面托管一个闪亮的应用时,我的问题就开始了。我希望保留其他应用程序和用户/设置的旧设置,并在NGINX中有一个单独的部分,以便在simplesaml之后重定向此特定URL并在闪亮的服务器下维护。来自客户端的ADFS声明将保留LDAP之类的声明,理想情况下将其传递给Shiny Server。

在下面的nginx配置中,我已经创建了一个simplesaml位置并且工作正常,我可以测试设置和标准simplesaml登录页面。

location ^~ /simplesaml {
  #alias /var/simplesamlphp/www;
  index index.php;
   #location ~ \.php(/|$) {
  location ~ ^(?<prefix>/simplesaml)(?<phpfile>.+?\.php)(?<pathinfo>/.*)?$ {
     fastcgi_split_path_info ^(.+?\.php)(/.+)$;
     fastcgi_param PATH_INFO $fastcgi_path_info if_not_empty;
     fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     #fastcgi_param SCRIPT_NAME $fastcgi_script_name;
     #fastcgi_index index.php;
     include fastcgi_params;
     #autoindex on;


     #proxy_set_header X-USER $user;
     #proxy_set_header X-GROUPS $user;
     #proxy_pass http://shiny-staging;
     #proxy_http_version 1.1;

     #proxy_set_header Upgrade $http_upgrade;
     #proxy_set_header Connection "upgrade";

  }
}

元数据和everthing else是根据客户端设置配置的,因此这里缺少的是在URL映射和代理转发中一起处理所有内容。

下面是闪亮的条目。但某些东西,某处遗漏了。

location /simplesaml/test {

site_dir /srv/shiny-server_dev/test;
log_dir /var/log/shiny-server/dev;
app_session_timeout 1800;

}

0 个答案:

没有答案