Single sign-on feature (hereafter SSO) provides security at scale by eliminating user passwords, controlling access and managing login credentials by using your company’s IdP via both SAML and OAuth (Office 365, Okta, Azure, Active Directory, Google, OneLogin…).
This is an extra feature, which you can enable by upgrading your workspace to Enterprise plan.
Depending on the type of hosting, there are different ways in which you can set it up in Clockify:
Before you can configure and start using SSO for authorization, you need to move your Clockify app domain to a custom subdomain.
When you upgrade your Clockify subscription to Enterprise plan, you will get Authentication tab in the Workspacesettings. There, you can enter the subdomain you’d like to use and move your workspace there.
To set up subdomain:
Navigate to the Authentication tab in the Workspace settings
Enter your custom subdomain in the provided field
Click Create subdomain and Create to confirm the action
After you created your subdomain and moved your workspace there, Google login will no longer work for you and your users.
If you’d, however, like to use Google login, you need to set it up manually by configuring OAuth2 for SSO.
After you create your subdomain, you’ll automatically be logged out of any apps you were logged in with your Clockify account. You’ll have access to them only through the subdomain you created (e.g. https://yourcompanysubdomain.clockify.me/login).
Subdomain is tied to only one workspace. Users on subdomain can’t have multiple workspaces: there is no workspace switcher, no workspaces in the sidebar, and no access to subdomain workspace from the main domain.
To access multiple workspaces, log in to the main Clockify domain.
For security reasons, each user on subdomain gets a separate API key that works only for that workspace – meaning, no one can access your data on your subdomain unless they have the right authorization.
If, for example, there is a user with two separate Enterprise workspaces, workspace owners can’t see, or access data from each others accounts.
Once you’re in the subdomain workspace, you can invite users one by one using email (like before), or let anyone join without you having to manually invite them.
To let anyone join, check the Users can join without an invite checkbox.
If you use SSO and someone without an account tries to log in, the account will be automatically created for them and they’ll log in.
If you allow Log in with email and password, people will be able to create an account and automatically join your workspace.
Only workspace owner can see Authorization tab, manage subdomain, configure SSO, and turn SSO on/off.
If you wish to force everyone to log in with SSO, simply uncheck the Log in with email and password box. Once this change has been saved, any passwords associated to your members’ accounts will no longer work and they will be required to use SSO.
Data in the SSO configuration can always be edited or deleted. If deleted, your users will have to switch back to logging in by using email and password.
Owner can always log in using the original email and password at https://mysubdomain.clockify.me/login-owner
To add Default Relay State, use the parameters below.
Make sure to use curly brackets and straight quotes instead of the curly ones, otherwise it won’t work.
In General Settings form, enter the following information and click Next
App name: e.g. Clockify
Logo: e.g. upload Clockify logo
In Configure SAML form, enter the following information:
Single sign on URL (or ACS): Specific URL that SAML assertions from Okta should be sent to (e.g. https://global.api.clockify.me/auth/saml2)
Audience URI (Entity ID in your app): Unique identifier of your custom application; same as Entity Id in SAML authentication field (e.g. https://yourcompanysubdomain.clockify.me)
Default Relay State: IdP-initiated authentication so that users can log in to Clockify straight from the Okta dashboard
Navigate to Users (this is where you choose which users from your OneLogin account will be able to access Clockify)
Click on the specific User
In Applications, click the + sign to add an app
Choose Clockify
Click Continue and Save
In Clockify, click Finish configuration to complete the process and enable Log in with SAML 2.0. Optionally, you can disable Log in with email and password.
And that’s it! Now you, and your workspace users are able to log in to your workspace with SAML 2.0.
You’ll proceed to the Google Identity Provider details screen Google side:
Download IdP metadata URL and upload it to Clockify/IdP Metadata URL field
Copy SSO URL and paste it to Login URL field in Clockify Clockify side:
Click Continue
You’ll proceed to Service provider details
Insert the following: – ACS URL: Copy/paste Reply URL from Clockify, e.g. https://global.api.clockify.me/auth/saml2 – Entity ID: Unique identifier of your custom application, e.g. Clockify – Start URL: Copy/paste Default Relay State from Clockify, e.g.
Give app a descriptive name, select category and upload a logo
Check Single Sign-on (SAML)
Click Continue
Confirm that you are Application Admin
New page with SSO instructions opens and you can proceed with the next step. The page contains SSO Setup instructions which include the IdP Metadata XML file.
On SSO Instructions page scroll down and enter the following:
ACS URL: Copy/paste Reply URL from Clockify
Service Provider Entity ID: Copy/paste Entity ID from Clockify
Click Move to Next Step
Choose Access Rules you want
Choose Provision Time you want
Configure SSO for Admins if necessary
Configure Group Attributes if necessary
Click Connect via Rippling if you’d like to check the connection between apps or simply Continue
And that’s it! You’ve successfully installed your application in rippling and you and your users are now able to log in to your workspace with SAML 2.0.
In SSO tab you can proceed with the next step. The page contains SSO Setup instructions which include the IdP Metadata XML file. Download IDP Metadata from JumpCloud and save it for later.
In User attribute mapping add attributes mapping Service Provider Attribute Name to JumpCloud Attribute Name
Click Activate
Open the application you created
Click on IDP Certificate Valid on the left and download the certificate
Click Save
You’ve successfully created your application in JumpCloud. Now you can decide which users from your JumpCloud account will be able to access Clockify and finish the configuration in Clockify.
Once you move to subdomain, the default Google log-in will stop working and you’ll have to configure it manually to continue using it.
Setting up Google log-in is quick and easy.
You’ll need to have a G Suite or Cloud Identity account in order to do this.
You need to Set up OAuth 2.0 in your Google account, create a project and get OAuth 2.0 client ID for a web application.
In Google Cloud Platform navigate to API & Services and choose Credentials. Open the project/application you’ve created and paste https://yoursubdomain.clockify.me/login under the Authorized redirect URIs.
You should also add the following URIs in order for the OAuth login to work on Clockify mobile apps:
In Clockify, go to Authentication tab and click Configure SSO
Choose OAuth2 authentication type
Choose Google in IdP Templates modal
Click Next
Copy/paste Client ID and Client Secret from your Google app as seen in the example below (fields in the Advanced section will be pre-populated)
Your screen in Clockify should look something like this:
and
Click Finish configuration to complete the process. Check the Log in with OAuth checkbox to start using Google login. Optionally, you can force everyone to use your company’s Google identity for logging in by disabling Log in with email and password.
Supported account types: Choose what you prefer; in our case it’s Accounts in this organizational directory only (Default Directory only – Single tenant)
Now, in Clockify, in Authentication screen where you created your subdomain:
Click Configure SSO at the bottom of the screen
Choose OAuth2 as authentication type
Choose Okta as IdP Template
Click Next
In OAuth authentication form enter the following information:
Client ID: Generated in Okta in the previous step; copy it from the Client Credentials section
Client Secret: Same as Client ID; copy it from the Client Credentials section
Okta Domain: Copy it from Okta, General Settings, Okta domain field (Note: Okta Domain requires a domain name only, for example: doamin_name.okta.com instead of: https://domain_name.okta.com)
Advanced section is pre-populated (automatically generated)
Choose Assign to People/Groups depending on who from your Okta account you’d like to be able to access Clockify
In Clockify, click Finish configuration to complete the process and enable Log in with OAuth. Optionally, you can disable Log in with email and password.
Finally, your screen in Clockify should look something like this:
And that’s it! Now you, and your workspace users are able to log in to your workspace with OAuth.