The Single Sign-on feature provided by the Control Panel allows you to enable third party authentication using the installed SSO services (Shibboleth, OneLogin).
Generally, the Single Sign-on technology allows users to sign in only once and then get access to multiple applications/services without re-authentication. E.g. if a web portal includes several large independent sections (forum, chat, blogs etc.), a user can undergo the authentication procedure within one of the services and automatically get access to all other services without entering credentials several times.
SSO is always ensured by the joint operation of two applications: an Identity Provider and a Service Provider (hereinafter referred to as "IdP" and "SP").
ONLYOFFICE SSO implements the SP only. A lot of different providers can act as an IdP, but ONLYOFFICE has been tested with the following services only: Shibboleth and OneLogin.
Using SSO authentication you get the following main benefits:
- Increased convenience. Users obtain a more quick and easy way to access the portal without the necessity to memorize multiple passwords and logins.
- Enhanced security. ONLYOFFICE does not store user passwords in any form, instead of that it uses the results of the authentication on the Identity Provider side.
- Easy administration. All the necessary user information is transmitted through an authentication token. If the user information changes on the Identity Provider side, it will be automatically updated on the portal during the next SSO authentication. If a user profile does not exist on the portal, it will be created automatically when the user signs in to the portal using the SSO credentials for the first time.
In ONLYOFFICE, SSO authentication is implemented on the base of the secure and commonly used SAML standard. SAML (Security Assertion Markup Language) is an XML standard that allows to transmit user authentication/authorization data between an Identity Provider and a Service Provider through security tokens which contain assertions.
This article describes the process of enabling SSO in general. If you search for specific settings/examples for certain IdPs, please refer to our articles on how to configure ONLYOFFICE SP and Shibboleth or OneLogin IdPs.
To enable and configure SSO authentication for your portal, you need to perform the following two main steps:
- Register your Identity Provider at the ONLYOFFICE Control Panel -> SSO page. The information you should specify can be found in your Identity Provider account.
- Register ONLYOFFICE as a trusted Service Provider in your Identity Provider account. This procedure differs depending on the selected Identity Provider.
Each portal can only be integrated with one Identity Provider at the same time.
Registering your Identity Provider in the ONLYOFFICE Service Provider
To register your IdP in ONLYOFFICE SP, use the ONLYOFFICE SP Settings section of the SSO page.
- On your ONLYOFFICE portal, go to the Control Panel and open the SSO page.
- Click the Enable Single Sign-on Authentication switcher.
- Fill in the required fields in the ONLYOFFICE SP Settings section. The necessary information can be specified in several different ways:
- Enter the URL address to the metadata file. If your IdP metadata is accessible from outside by the link, insert the link into the URL to IdP Metadata XML field and click the Load data button. When the data is loaded, all the required parameters will be automatically displayed in the extended form.
- Upload the metadata file. If your IdP provides a metadata file, use the Select file button to browse for the file stored on your local machine. When the file is uploaded, all the required parameters will be automatically displayed in the extended form.
- Specify the required parameters manually. If the metadata file is not available, enter the necessary parameters manually. To obtain the necessary values, please contact your IdP administrator.
The following parameters are available:
- IdP Entity Id (obligatory field) - the Identity Provider identifier or URL address which will be used by the Service Provider to unequivocally identify the IdP.
where example.com is your SSO service domain name
- IdP Single Sign-On Endpoint URL (obligatory field) - the URL used for the single sign-on on the Identity Provider side. It is the endpoint address in your IdP to which SP sends authentication requests.
Set the necessary Binding type selecting one of the corresponding radio buttons. Bindings specify the way in which authentication requests and responses are transmitted between the IdP and SP over the underlying transport protocol: using the HTTP POST or HTTP Redirect binding.
- IdP Single Logout Endpoint URL - the URL used for the single logout on the Service provider side. It is the endpoint address in your IdP to which SP sends logout requests/responses.
Set the necessary Binding type selecting one of the corresponding radio buttons. Bindings specify the way in which logout requests and responses are transmitted between the IdP and SP over the underlying transport protocol: using the HTTP POST or HTTP Redirect binding.
- NameId Format - the NameID parameter allows SP to identify a user. Select one of the available formats from the list.
You can also add the IdP and SP certificates.
IdP Public Certificates
IdP Public Certificates - this section allows you to add the Identity Provider public certificates used by the SP to verify the requests and responses from the IdP.
If you have loaded the IdP metadata, these certificates will be added to the Control Panel automatically. Otherwise, the certificates can be found in your IdP account. To add a certificate manually, click the Add certificate button. The New Certificate window opens. Enter the certificate in the Public Certificate field and click the OK button.
Set additional parameters for certificates checking the corresponding boxes.
Specify which signatures of requests/responses sent from IdP to SP should be verified:
- Verify Authentication Response Signature - to verify signatures of the SAML authentication responses sent to SP.
- Verify Logout Request Signature - to verify signatures of the SAML logout requests sent to SP.
- Verify Logout Response Signature - to verify signatures of the SAML logout responses sent to SP.
Select the necessary algorithm from the Default Signature Verification Algorithm list:
Default settings are used only in cases if the IdP metadata does not specify which algorithm should be used.
You can edit or delete the added certificates using the corresponding link.
SP Certificates - this section allows you to add the Service Provider certificates used to sign and encrypt the requests and responses from the SP.
If your IdP requires that input data is signed and/or encrypted, create or add corresponding certificates in this section.
Click the Add certificate button. The New Certificate window opens. You can generate a self-signed certificate or add an existing certificate in the Public Certificate field and the corresponding private key in the Private Key field. In the Use for list, select one of the available options:
signing and encrypt. When ready, click the OK button.
Depending on the certificate purpose selected in the Use for list when uploading/generating the certificate, the certificate additional parameters are specified. The following parameters define which requests/responses sent from SP to IdP should be signed:
- Sign Authentication Requests - to have SP sign the SAML authentication requests sent to IdP.
- Sign Logout Requests - to have SP sign the SAML logout requests sent to IdP.
- Sign Logout Responses - to have SP sign the SAML logout responses sent to IdP.
If you have selected the
signing and encrypt option in the Use for list, the Decrypt Assertions parameter is also checked. The decryption is performed using the corresponding Private Key.
Select the necessary algorithms from the lists:
- Signing Algorithm:
- Default Decryption Algorithm:
You can edit or delete the added certificates using the corresponding link.
Attribute Mapping - this section allows you to set the correspondence of the fields in the ONLYOFFICE People module to the user attributes which will be returned from the IdP. When a user signs in to the ONLYOFFICE SP using the SSO credentials, ONLYOFFICE SP receives the required attributes and populates the full name and email address fields in the user account with the values received from the IdP. If the user does not exist in the People module, it will be created automatically. If the user information has been changed on the IdP side, it will be updated in SP as well.
The available attributes are:
- First Name (obligatory field) - an attribute in a user record that corresponds to the user's first name.
- Last Name (obligatory field) - an attribute in a user record that corresponds to the user's second name.
- Email (obligatory field) - an attribute in a user record that corresponds to the user's email address.
- Location - an attribute in a user record that corresponds to the user's location.
- Title - an attribute in a user record that corresponds to the user's title.
- Phone - an attribute in a user record that corresponds to the user's phone number.
When all the settings are specified in the Control Panel, click the Save button. The ONLYOFFICE SP Metadata section will open.
Registering ONLYOFFICE as a trusted Service Provider in your Identity Provider
Now you need to add ONLYOFFICE as a trusted Service Provider in your IdP account specifying the ONLYOFFICE SP metadata in the IdP.
To receive necessary data, refer to the ONLYOFFICE SP Metadata section of the SSO page. Verify that the SP data is publicly accessible. To do that, click the Download SP Metadata XML button. The XML file contents will be displayed in a new browser tab. Save the data as an XML file to be able to upload it to the IdP.
Alternatively, you can manually copy separate parameters clicking the Copy to clipboard button in the corresponding fields.
The following parameters are available:
- SP Entity ID (link to metadata XML) - the Service Provider XML URL address which can be downloaded and used by the Identity Provider to unequivocally identify the SP. By default, the file is located at the following address: http://example.com/sso/metadata where example.com is your ONLYOFFICE portal domain name or public IP.
- SP Assertion Consumer URL (support POST and Redirect binding) - the Service Provider URL address where it receives and processes assertions from the Identity Provider. By default, the following address is used: http://example.com/sso/acs where example.com is your ONLYOFFICE portal domain name or public IP.
- SP Single Logout URL (support POST and Redirect binding) - the URL used for the single logout on the Identity Provider side. It is the endpoint address in your SP where it receives and processes logout requests/responses from the Identity Provider. By default, the following address is used: http://example.com/sso/slo/callback where example.com is your ONLYOFFICE portal domain name or public IP.
These parameters and XML contents differ depending on you portal configuration, e.g. if you switch your portal to HTTPS or specify a domain name, the parameters will also be changed and you will need to reconfigure your IdP.
Logging in to the ONLYOFFICE SP
After the SSO is enabled and configured, the logging in process is performed in the following way:
- A user requests access to ONLYOFFICE by clicking the Single Sign-on link below the Sign In button at the ONLYOFFICE portal Authentication page (SP-initiated SSO).
- If all the IdP and SP settings are set correctly, ONLYOFFICE sends the authentication request to the IdP and redirects the user to the IdP page where he/she is asked for credentials.
- If the user is not already logged in to the IdP, he/she provides credentials in the IdP.
- IdP creates the authentication response that contains user data and sends it to ONLYOFFICE.
- ONLYOFFICE receives the authentication response from the Identity Provider and validates it.
- If the response is validated, ONLYOFFICE allows the user to log in (the user will be created automatically if missing, or the data will be updated if changed in the IdP).
It's also possible to use the sign-in page on the Identity Provider side (IdP-initiated SSO), enter credentials and then access the ONLYOFFICE portal without re-authentication.
Logging out from the ONLYOFFICE SP
Logout can be made using 2 available ways:
- From the ONLYOFFICE portal using the Sign Out menu (in this case the request will be sent from IdP to logout). The user should also be automatically logged out from the IdP in case he/she is logged out from all other applications previously accessed via SSO authentication.
- From the IdP logout page.
Editing user profiles created using SSO
The users created using the SSO authentication are marked with the SSO icon in the user list for the portal administrator.
The possibility to edit such user profiles in the People module is restricted. The user profile fields that have been created using the SSO authentication are disabled for editing from the People module. The user data can be changed on the IdP side only.