There are two main steps required to set up SSO using Azure on ImageKit:
Azure subscription
Although you may use a free account on Azure to set up and test the SSO application, having a premium Azure subscription is recommended for seamless role provisioning for your users. Read more here.
If you want to configure multiple unique instances of ImageKit SSO apps within a single instance of Azure Active Directory, click here.
Create an Azure AD application
First, you need to create an application on Azure Active Directory and generate a Federation Metadata XML file.
You may refer to the official documentation by Microsoft here or follow our brief guide below:
- Log in to Microsoft Azure portal and open Azure Active Directory
- Navigate to the "Enterprise applications" screen using the side navigation menu
- Click the "New application" button, then click on "Create your own application"
- In the form that opens up, choose the "Non-gallery application" radio button as shown below.
- Input a name for the application, we will use "ImageKit" for this guide.
Click "Create" and wait until you are redirected to the application page.
Configure single sign-on options
On the application page, navigate to the 'Single sign-on' screen. Select "SAML" as the single sign-on method.
Basic SAML configuration
On the next screen, we will configure various authentication URLs as shown:
Field | Value |
---|---|
Identifier | https://imagekit.io/saml/consume |
Reply URL | https://imagekit.io/saml/consume |
Relay State | https://imagekit.io/dashboard |
Logout Url | https://imagekit.io/logout |
Attributes and claims
Now you need to specify four keys that ImageKit uses to authorize and provision your users:
Field | Description | Claim composition |
---|---|---|
Unique User Identifier | The unique email address of the user that will be used to identify them on ImageKit. | user.mail |
imagekit_id | The ImageKit ID of your organization account. | <your_imagekit_id> |
full_name | The full name of the user. It can be a combination of their given name and surname on Azure AD. | Join (user.givenname, " ", user.surname) |
imagekit_role | The role to assign to the user on ImageKit which would decide their access privileges. Accepted values of this key in the SAML response sent to ImageKit are:
Read more about different ImageKit roles and their privileges here. |
The final computed value of this claim must be one of the accepted role strings from the list specified alongside. |
For the purpose of this guide, we will map "imagekit_role" to user.department
Azure key. Ensure that this field is populated correctly in your Azure user object while testing the app.
Save the list of attributes and claims to finish this step.
Federation Metadata XML
Download the Federation Metadata XML file and keep it in a safe location. You will need to upload this XML file to your ImageKit account in a later step.
Assign users to the SSO application on Azure
Refer to the official Microsoft guide to assign users to the ImageKit application.
Enable SSO login on ImageKit
If you have administrator privileges on your ImageKit account, you can enable SSO for all the users in your account as follows:
- Navigate to the Settings page.
- Open the Federation Metadata XML file (which was downloaded previously) in a text editor of your choice.
- Copy and paste the entire contents of the file into the Metadata XML input box.
- Click on the 'Save' button.
Your users should now be able to use Microsoft Azure SSO to log into ImageKit. You can verify this by clicking the 'Test' button on the 'Single sign-on' set up screen on Azure.
First-time login
SSO users would need to initiate their very first login on ImageKit through the Azure app by navigating to their My Apps page.
After their first login, they may use the ImageKit SSO login page for signing in to ImageKit directly. Read more here.
Disable SSO login on ImageKit
You can disable SSO login for the users on your ImageKit account by deleting the Metadata XML.
To do so, navigate to the Settings page and click on the 'Delete' button.
Creating multiple unique instances of ImageKit SSO application within Azure
Azure Active Directory requires the Identifier or EntityID to be unique across the organization's applications.
However, you may want to create multiple unique instances of SSO application for use with ImageKit within a single Azure Active Directory instance – for example, if you have an agency account that manages SSO for multiple child accounts within your own company organization.
To do this, you can attach a hash suffix with the unique imagekit_id
to the Identifier (EntityID) and Reply URL of each such child account.
The SAML configuration of each such app then becomes similar to the following, where child_imagekit_id
is the unique imagekit_id
of that child account:
Field | Value |
---|---|
Identifier | https://imagekit.io/saml/consume#child_imagekit_id |
Reply URL | https://imagekit.io/saml/consume#child_imagekit_id |
Relay State | https://imagekit.io/dashboard |
Logout Url | https://imagekit.io/logout |
To ensure that the login flow initiated from ImageKit works smoothly, save the new unique Identifier URL in the Entity ID field on the ImageKit dashboard SSO settings page of the child account.
If the Entity ID field value is removed, then the account will revert to following the default value of Identifier and Reply URL when SSO login is initiated from ImageKit, i.e. https://imagekit.io/saml/consume
.