我们需要支持SSO的SAML(Okta和Google)。我已经能够在Google中设置自己的自定义SAML应用程序,并在apache中配置mellon。然而,我们需要在Okta中为客户配置SAML,在Google中为内部用户配置SAML。
#################################################################################
# Global configuration for mod_auth_mellon.
# This configuration is shared by every virtual server and location in this instance of apache.
#################################################################################
# MellonCacheSize sets the maximum number of sessions which can be active at once. When mod_auth_mellon reaches this limit, it will begin removing # the least recently used sessions. The server must be restarted before any changes to this option takes effect.
# Default: MellonCacheSize 100
MellonCacheSize 100
# MellonLockFile is the full path to a file used for synchronizing access to the session data. The path should only be used by one instance of apache at a time.The server must be restarted before any changes to this option takes effect.
# Default: MellonLockFile "/var/run/mod_auth_mellon.lock"
MellonLockFile "/var/run/mod_auth_mellon.lock"
# MellonPostCount is the maximum amount of saved POST requests
# Default: MellonPostCount 100
MellonPostCount 100
###########################################################################
# End of global configuration for mod_auth_mellon.
###########################################################################
<Location />
MellonEnable "info"
Require valid-user
AuthType "Mellon"
MellonVariable "cookie"
MellonSamlResponseDump On
MellonSPPrivateKeyFile /etc/apache2/googlesaml/mellon.key
MellonSPCertFile /etc/apache2/googlesaml/mellon.crt
MellonSPMetadataFile /etc/apache2/googlesaml/mellon_metadata.xml
MellonIdPMetadataFile /etc/apache2/googlesaml/GoogleIDPMetadata.xml
MellonEndpointPath /mellon
MellonDefaultLoginPath /
RequestHeader set MELLON_NAME_ID %{MELLON_NAME_ID}e
</Location>
<VirtualHost *:443>
ServerName host_name
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.pem
SSLCertificateKeyFile /etc/ssl/private/private.key
<Location />
AuthType Mellon
MellonEnable auth
Require valid-user
</Location>
<Location /protected>
AuthType Mellon
MellonEnable auth
Require valid-user
</Location>
</VirtualHost>
我们如何将Okta和Google(SAML)之间的传入请求区分为位置/
我试过下面的配置,它适用于openidc和mellon。显然,对于那些愿意为内部IDP配置Okta(mellon)和google sso的人来说,这个场景会很有帮助。
<Location />
MellonEndpointPath /mellon/
MellonSPMetadataFile /etc/apache2/saml/mellon_metadata.xml
MellonSPPrivateKeyFile /etc/apache2/saml/mellon.key
MellonSPCertFile /etc/apache2/saml/mellon.crt
MellonIdPMetadataFile /etc/apache2/saml/idp_metadata.xml
MellonVariable "mellon_cookie"
MellonDefaultLoginPath /
MellonSecureCookie on
</Location>
<VirtualHost *:443>
ServerName zzz.xxxx.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/xxxxx_prod.pem
SSLCertificateKeyFile /etc/ssl/private/xxxxx.com.key
OIDCResponseType "id_token"
OIDCScope "openid email profile"
OIDCProviderMetadataURL https://accounts.google.com/.well-known/openid-configuration
OIDCRedirectURI "https://zzz.xxxx..com/openidc_callback"
OIDCDiscoverURL https://zzz.xxxx.com/idp-discovery.html
<Location /uliya>
AuthType "mellon"
Require valid-user
MellonEnable "auth"
</Location>
<Location /transport>
AuthType openid-connect
Require valid-user
OIDCUnAuthAction auth
</Location>
<Location "/idp-page.html">
Require all granted
</Location>
</VirtualHost>
mod_auth_mellon模块仅将SAML应用于特定的
<VirtualHost *:443>
ServerName host_name
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.pem
SSLCertificateKeyFile /etc/ssl/private/private.key
# GoogleSaml
<Location />
MellonEnable "info"
Require valid-user
AuthType "GoogleSaml"
MellonVariable "cookie"
MellonSamlResponseDump On
MellonSPPrivateKeyFile /etc/apache2/googlesaml/mellon.key
MellonSPCertFile /etc/apache2/googlesaml/mellon.crt
MellonSPMetadataFile /etc/apache2/googlesaml/mellon_metadata.xml
MellonIdPMetadataFile /etc/apache2/googlesaml/GoogleIDPMetadata.xml
MellonEndpointPath /mellon
MellonDefaultLoginPath /
RequestHeader set MELLON_NAME_ID %{MELLON_NAME_ID}e
</Location>
# Okta
<Location /protected>
Require valid-user
AuthType "OktaSaml"
MellonEnable "auth"
MellonDecoder "none"
MellonVariable "cookie"
MellonSecureCookie On
MellonUser "NAME_ID"
MellonSetEnv "e-mail" "mail"
MellonEndpointPath "/endpoint"
MellonDefaultLoginPath "/"
MellonSessionLength 300
MellonSPPrivateKeyFile /etc/apache2/mellon/http_192.168.14.130_okta.key
MellonSPCertFile /etc/apache2/mellon/http_192.168.14.130_okta.cert
MellonIdPMetadataFile /etc/apache2/mellon/metadata
MellonSamlResponseDump On
MellonSessionDump On
</Location>
</VirtualHost>
如果你想基于用户的头动态地做这件事,我不推荐mod_auth_mellon,让你的应用程序提供认证会更有意义。
希望这有帮助。
问题内容: 如何在Zend Framework 2中配置(和使用)多个数据库?目前,我在global.php中有以下内容: 但是我看不到添加第二种方法。 问题答案: 如果查看Zend \ Db \ Adapter \ AdapterServiceFactory,您会看到适配器配置仅指向一个键。这意味着它构建的适配器将始终使用此(唯一)配置密钥。 我建议您创建自己的工厂,如下所示: 在您的主模块(或
问题内容: 我目前正在构建一个库以对我的一些代码进行模块化,并且我遇到了Hibernate的问题。 在我的主应用程序中,我有一个hibernate配置来获取运行所需的信息,但是我的库中也需要hibernate,因为我想要的某些对象可以在其他应用程序中使用。 当我启动两个hibernate设置的tomcat服务器时,出现错误,指出无法解析bean,并且说我的查询中缺少位置参数的bean。但是,当我仅
我在两台不同的机器上有两种不同的卡桑德拉设置。我试图从一台机器上读取数据,使用Spark进行处理,然后将结果写入第二个设置。我使用的是spark-cassandra-connector-java_2.10。当我尝试使用Java函数时。writeBuilder,它允许我指定键空间和表名,但Cassandra主机是从Spark上下文获取的。除了Spark上下文中提到的方法外,还有其他方法可以将数据写入
本文向大家介绍详解在spring boot中配置多个DispatcherServlet,包括了详解在spring boot中配置多个DispatcherServlet的使用技巧和注意事项,需要的朋友参考一下 spring boot为我们自动配置了一个开箱即用的DispatcherServlet,映射路径为‘/',但是如果项目中有多个服务,为了对不同服务进行不同的配置管理,需要对不同服务设置不同的上
1-我有一个带有Spring Boot的API,我需要配置两个DBMS(MySQL和Postgres)。 2-对于每个DBMS,我需要配置不同的配置文件。(Dev,Prod) 遵循我的MySQL配置类: 我以为我的出口是: 重要: 当我将配置文件配置为连接到我的MySQL Dev数据库时,我只想连接到它。我想要同样的结果,当它是MySQL的Prod的基础时。 当我将配置文件配置为连接到我的Post
我在liberty中部署了多个WebApp,它们都有自己的log4j配置文件,每个WAR中的log4j配置文件位于WAR的WEB-INF/classes文件夹中。添加log4j配置的web.xml代码片段如下: 这似乎适用于所有其他Tomcat和Jboss应用服务器,但不适用于WebSphere Liberty Profile。即使在WebSphere Basic profile中,似乎也是如此。