In addition to the authentication methods provided by Crowdin, you can use the Single Sign-On (SSO) feature to authenticate your users instantly with their existing usernames.
This feature is available in organization plans only.
Crowdin hybrid SSO is a faster way to create the translator account than classic SSO like OAuth or SAML.
The entire streamlined process works as follows:
If you pass a login name or email to the SSO URL already taken at Crowdin, the user will be asked to correct the registration details.
To enable SSO for your projects, follow these steps:
Below is the list of parameters you can pass to Crowdin for automatic registration. In this step, you will need to pack the data as a JSON array before encryption (See the sample integrations in popular programming languages below).
Parameter | Required | Type | Default | Example | Notes |
---|---|---|---|---|---|
user_id | yes | int | 12345678901 | A unique identifier for the user (e.g., the user_id in your system). | |
login | yes | string | johndoe | Crowdin login name. Should match the pattern [a-z,0-9] | |
user_email | yes | string | john.doe@mail.com | Valid email address | |
expiration | yes | int | 1406124776 | Valid unix timestamp. Note! Set no more than 30 minutes from the current UTC time. | |
display_name | string | John Doe | Pseudo or real name | ||
locale | string | en_US | de_DE | Locale code | |
projects | string | docx-project,csv-project | A comma-separated list of Crowdin project identifiers that the translator should initially have access to | ||
gender | int | 0 | 1 | 2 | 1: male, 2: female | |
role | int | 0 | 0 | 1 | 2 | User role in joined projects. 0: translator, 1: proofreader, 2: manager | |
languages | string | ro,uk,fr | Comma separated list of Crowdin language codes the user should have access to. Used for projects with moderate language access policy | ||
redirect_to | string | https://crowdin.com/profile | https://crowdin.com/project/your-project-url | The Crowdin URL where the translator should land after registration | |
return_crowdin_login | int | 0 | 1 | Return GET parameter crowdin_login (works in combination with redirect_to parameter) |
The output JSON array should look like the following:
{
"user_id":"12345678901",
"login":"johndoe",
"user_email":"john.doe@mail.com",
"display_name":"John Doe",
"locale":"de-DE",
"gender":1,
"projects":"docx-project,csv-project",
"expiration":1406124776,
"role":0,
"redirect_to":"https:\/\/crowdin.com\/project\/docx-project"
}
The JSON created in the previous step must be encrypted using AES 128-CBC, with the first 16 characters of your Crowdin account API key acting as the cipher key, and the last 16 characters as the initialization vector. The encrypted text should be transformed now to Base64 text.
The SSO URL should use the following pattern:
Where:
{ENCRYPTED_STRING} is the Base64 text you created in the previous step.
{CROWDIN_USER_LOGIN} is the login name of your Crowdin account. Note: this must be the same account you used to create the projects you want the translator to have access to.
We’ve created the code snippets for the most major programming languages. Remember to replace CROWDIN_USER_LOGIN and CROWDIN_USER_API_KEY with your personal authentication information.