Інтеграція гібридного SSO провайдера

На додачу до методів аутентифікації, що надаються Crowdin, ви можете використовувати функцію єдиного входу (SSO) для миттєвої аутентифікації ваших користувачів по їх існуючим іменах.

Ця функція доступна тільки в тарифних планах організації.

Гібридний SSO Crowdin насправді є більш швидким способом створення облікового запису перекладача, ніж класичний SSO, наприклад OAuth або SAML.

Весь впорядкований процес працює наступним чином:

  1. Увімкніть SSO в своєму обліковому записі та скопіюйте ключ API свого облікового запису.
  2. Створіть спеціальне URL у вашій системі, який направить перекладача на Crowdin. Це URL буде містити інформацію про аутентифікації перекладача, а також ключ API, отриманий вами раніше, в якості параметрів URL, зашифрованих за допомогою AES.
  3. Crowdin використовує ці параметри для створення облікового запису для перекладача і перенаправляє на потрібну сторінку. Наприклад, перекладачі можуть бути негайно перенаправлені в редактор перекладів, щоб почати роботу.
  4. Перекладач отримує повідомлення електронної пошти з інструкціями по активації облікового запису і повинен прийняти Умови обслуговування та Політику конфіденційності Crowdin.

Примітка: Перед відправленням користувача в Crowdin, будь ласка, включіть попередження про те, що ви відправляєте зашифровану особисту інформацію перекладача сторонній особі.

Якщо ви передасте ім’я користувача або адресу електронної пошти на URL-адресу єдиного входу, який вже використовується в Crowdin, користувачеві буде запропоновано виправити дані реєстрації.

Увімкнення єдиного входу (SSO)

Щоб увімкнути SSO для вашого проекту, перейдіть на сторінку Налаштування облікового запису, натисніть на вкладку API & SSO, активуйте параметр Увімкнути єдиний вхід та вкажіть дійсне ім’я постачальника.

Параметри URL єдиного входу

Нижче наведено список параметрів, які ви можете передати Crowdin для автоматичної реєстрації. На цьому етапі перед шифруванням вам потрібно буде упакувати дані в вигляді масиву JSON (див. Приклад інтеграції на популярних мовах програмування нижче).

Параметр Необхідний Тип За замовчуванням Приклад Примітки
user_id так рядок 12345678901 Унікальний ідентифікатор користувача (наприклад, user_id у вашій системі).
login так рядок johndoe Ім'я для входу в Crowdin. Має відповідати шаблону [a-z, 0-9]
user_email так рядок john.doe@mail.com Дійсна адреса email
expiration так число 1406124776 Активна часова мітка unix.
Увага! Встановіть не більше 30 хвилин від поточного часу UTC.
display_name рядок Джон Доу Ім'я користувача або справжнє ім'я
locale рядок en_US uk_UK Код локалі
проекти рядок docx-project,csv-project Розділений комами список ідентифікаторів проекту Crowdin, до яких перекладач повинен спочатку мати доступ
стать число 0 1 | 2 1: чоловік, 2: жінка
ролі число 0 0 | 1 | 2 Роль користувача у спільних проектах. 0: перекладач, 1: коректор, 2: менеджер
мови рядок ro,uk,fr Розділений комами список кодів мови Crowdin до яких користувач повинен мати доступ. Використовується для проектів з помірною мовною політикою доступу
redirect_to рядок https://uk.crowdin.com/profile https://crowdin.com/project/your-project-url Crowdin URL, куди перекладач повинен перенаправитись після реєстрації
return_crowdin_login число 0 | 1 Повернути параметр GET crowdin_login (працює в поєднанні з параметром redirect_to)

Вихідний масив JSON повинен виглядати приблизно так:

{
  "user_id":"12345678901",
  "login":"johndoe",
  "user_email":"john.doe@mail.com",
  "display_name":"John Doe",
  "locale":"uk-UK",
  "gender":1,
  "projects":"docx-project,csv-project",
  "expiration":1406124776,
  "role":0,
  "redirect_to":"https:\/\/crowdin.com\/project\/docx-project"
}

Шифрування інформації

JSON створений на попередньому кроці повинен бути зашифрований з використанням AES 128-CBC. Перші 16 символів включають API ключ вашого облікового запису Crowdin і є криптографічним ключем, а останні 16 символів будуть вектором ініціалізації. Зашифрований текст повинен бути перетворений в Base64.

Генерація посилання SSO

URL-адреса єдиного входу повинна використовувати наступний шаблон:

https://crowdin.com/join?h={ENCRYPTED_STRING}&uid={CROWDIN_USER_LOGIN}

Де:

{ENCRYPTED \ _STRING} це Base64 текст, створений на попередньому кроці.

{CROWDIN_USER_LOGIN} - ім’я для входу в обліковий запис Crowdin. Примітка. Це повинен бути той самий обліковий запис, який ви використовували для створення проектів, до яких перекладач має доступ.

Приклади Інтеграції

Ми створили фрагменти коду для більшості основних мов програмування. Не забудьте замінити CROWDIN_USER_LOGIN і _ CROWDIN_USER_API_KEY_ вашої власної інформацією аутентифікації.

Ця стаття була корисною?