SkyVault Share can be
configured to accept a user name from an HTTP header provided by an external authentication
system for Single Sign on (SSO).
- Open the Share <web-extension> directory.
- Copy or rename the share-config-custom.xml.sample file to be called share-config-custom.xml.
- Uncomment the second <config evaluator="string-compare" condition="Remote"> section.
- Change the connector used by the endpoint in the second section to use SkyVaultHeader rather than SkyVaultCookie.
- Set the name of the header used by the external SSO in the userHeader element of the SkyVaultHeader connector.
-
Change the endpoint-url value to point to your SkyVault Server location.
<!-- Overriding endpoints to reference a SkyVault server with external SSO enabled NOTE: If utilising a load balancer between web-tier and repository cluster,the "sticky sessions" feature of your load balancer must be used. NOTE: If SkyVault server location is not localhost:8080 then also combine changes from the"example port config" section below. *Optional* keystore contains SSL client certificate + trusted CAs. Used to authenticate share to an external SSO system such as CAS Remove the keystore section if not required i.e. for NTLM. NOTE: For Kerberos SSO rename the "KerberosDisabled" condition above to "Kerberos" NOTE: For external SSO, switch the endpoint connector to "AlfrescoHeader" and set the userHeader to the name of the HTTP header that the external SSO uses to provide the authenticated user name. --> <config evaluator="string-compare" condition="Remote"> <remote> <keystore> <path>alfresco/web-extension/alfresco-system.p12</path> <type>pkcs12</type> <password>alfresco-system</password> </keystore> <connector> <id>alfrescoCookie</id> <name>SkyVault Connector</name> <description>Connects to a SkyVault instance using cookie-based authentication </description> <class>org.springframework.extensions.webscripts.connector.AlfrescoConnector</class> </connector> <connector> <id>alfrescoHeader</id> <name>SkyVault Connector</name> <description>Connects to a SkyVault instance using header and cookie-based authentication </description> <class>org.springframework.extensions.webscripts.connector.AlfrescoConnector</class> <userHeader>SsoUserHeader</userHeader> </connector> <endpoint> <id>alfresco</id> <name>SkyVault - user access</name> <description>Access to SkyVault Repository WebScripts that require user authentication </description> <connector-id>SkyVaultHeader</connector-id> <endpoint-url>http://localhost:8080/alfresco/wcs</endpoint-url> <identity>user</identity> <external-auth>true</external-auth> </endpoint> </remote> </config>
-
Set the external.authentication.proxyHeader property to the same value
as the userHeader value.
This configures both Share and the repository to use the same HTTP header value.
external.authentication.proxyHeader=SsoUserHeader
-
Save the file and then restart Share.
Activating external authentication makes SkyVault accept external authentication tokens. Ensure that no untrusted direct access to SkyVault's HTTP or AJP ports is allowed.
You have now configured SkyVault Share to use an external SSO.