- Білдер
- Користувачі, ролі та дозволи
- Схема авторизації
Схема авторизації
Схема авторизації аплікації Codejig
Система підтримує різні методи авторизації, що дозволяє інтегруватися із зовнішніми сервісами, використовувати локальних користувачів і підключати корпоративні рішення. Завдяки цьому можна забезпечити гнучкість у виборі способів доступу залежно від конкретних сценаріїв використання.
Типи користувачів
Нелокальні (зовнішні) користувачі Codejig
До цієї категорії належать користувачі, які авторизуються через сторонні сервіси OAuth 2.0 (Google, Facebook, Okta) або безпосередньо через Codejig.
Звичайні користувачі Codejig- Це реальні особи, які зареєструвалися на платформі Codejig, підтвердили свою електронну адресу й пароль або авторизувалися через Google чи Facebook.
- Мають власний обліковий запис, який вони контролюють самостійно.
- Можуть бути розробниками аплікацій та адміністраторами організацій у Codejig (з маркетингових і безпекових міркувань це дозволено лише їм).
- Якщо адміністрація організації Codejig надає такому користувачеві доступ до аплікації, розгорнутої у хмарі Codejig або на сторонньому сервері з Codejig-авторизацією, користувач одразу може увійти до неї. При запуску аплікація оновлює список активних користувачів на підставі даних з порталу Codejig (https://apps.codejig.com/).
- Створюються адміністратором організації через портал Codejig із заданими логіном, паролем, іменем та прізвищем.
- Інформація про таких користувачів (включно з хешем паролю) вбудовується в аплікацію під час компіляції. Також при використанні Codejig-авторизації ці дані можуть надсилатися аплікації динамічно.
- При використанні Codejig-авторизації дані "organization only" користувачів можуть оновлюватися динамічно: якщо адміністратор організації змінює дані користувача на порталі Codejig, зміни автоматично надсилаються всім аплікаціям, що працюють у хмарі Codejig та до яких цей користувач має доступ.
- Якщо ж аплікація розгорнута без Codejig-авторизації (наприклад, на сторонньому сервері без зв’язку з порталом), дані таких користувачів вбудовуються під час компіляції. У цьому випадку зміни, внесені на порталі Codejig після компіляції, не набудуть чинності, доки аплікацію не буде повторно скомпільовано та розгорнуто з оновленим виконуваним файлом.
Основне призначення "organization only" користувачів:
- Швидке надання доступу до аплікації без необхідності самостійної реєстрації користувачем.
- Забезпечення роботи без підключення до сервера авторизації Codejig (наприклад, при розгортанні без інтернету).
Організація може створити "organization only" користувача з правами адміністратора аплікації. Під час компіляції до аплікації додаються їхні ідентифікатори та хеші паролів, а локальна (app only) авторизація вмикається. Це дозволяє увійти призначеному адміністратору навіть в ізольованому середовищі, коли Codejig-авторизація вимкнена або інтернет відсутній.
"Organization only" користувачі:
- Залежать від порталу Codejig, оскільки створюються й керуються через нього.
- Не можуть бути розробниками аплікацій.
- Можуть бути додані організацією до будь-якої аплікації, що їй належить.
Примітка: Адміністратор Codejig-організації не має інформації про інших користувачів аплікації, які не створені через портал Codejig (наприклад, LDAP чи "app only"). Він також не знає, які ролі визначені розробником у конкретній аплікації. Адміністратор організації може лише надавати доступ до аплікації Codejig-користувачам (звичайним та "organization only") та призначати їм вбудовану роль адміністратора аплікації. Це можливо, якщо аплікація використовує Codejig-авторизацію, або якщо інформація про таких користувачів була вбудована під час компіляції.
Подальше адміністрування користувачів усередині самої аплікації здійснюється адміністратором аплікації. Адміністратор організації може призначити адміністратором аплікації будь-якого Codejig-користувача зі своєї організації (звичайного чи "organization only"). Користувачі, авторизовані іншими способами (наприклад, LDAP чи "app only"), не можуть отримати вбудовану роль адміністратора аплікації.
Адміністратор аплікації
- Може додавати користувачів аплікації до визначених в аплікації ролей і активувати/деактивувати їх.
- Може створювати нових "app only" користувачів (за умови увімкненої відповідної опції).
- Не може керувати користувачами, які авторизуються через Active Directory (LDAP); ці користувачі адмініструються через корпоративну інфраструктуру.
- Не може змінювати свої права чи права інших адміністраторів аплікації.
- Не може призначати нових адміністраторів аплікації чи позбавляти цього статусу інших адміністраторів. Зміна статусу адміністратора можлива лише через портал Codejig адміністратором організації.
Щоб додати або видалити адміністратора аплікації, потрібно скористатися порталом Codejig (https://apps.codejig.com/en/users), де це може зробити лише адміністратор організації.
App only користувачі
"App only" користувачі існують виключно в межах конкретної аплікації та ізольовані від платформи Codejig:
- Створюються та адмініструються безпосередньо адміністратором аплікації.
- "App only" авторизація може бути дозволена адміністраторами порталу Codejig за запитом, зазвичай для користувачів платних сервісів.
- Цей механізм простий: адміністрування користувачів (створення, деактивація) відбувається безпосередньо в аплікації, без необхідності використання порталу Codejig.
Корпоративні користувачі (LDAP, Microsoft Active Directory)
- Авторизуються через корпоративну інфраструктуру (наприклад, LDAP).
- Використовуються в корпоративних мережах.
- Дозволяють застосовувати чинні політики безпеки та використовувати існуючі облікові дані працівників.
Взаємодія адміністратора аплікації з LDAP-користувачами:
- Адміністратор аплікації може бачити факт існування LDAP-користувачів, їхні ролі та їхню активність.
- Адміністратор аплікації не може створювати, видаляти чи змінювати LDAP-користувачів безпосередньо в аплікації, оскільки вони адмініструються поза нею у корпоративній інфраструктурі.
Сервіси авторизації
OAuth 2.0 (Google, Facebook, Okta, Codejig)- Зовнішні сервіси автентифікації.
- Система отримує токен доступу, верифікує його та надає користувачеві відповідні права.
- Інтеграція з корпоративною мережею.
- Облікові дані перевіряються за допомогою LDAP-запитів у реальному часі.
- Облікові дані зберігаються та перевіряються безпосередньо в межах аплікації.
- Підходить для автономних/ізольованих систем і невеликих компаній, що мінімізують залежність від зовнішніх провайдерів авторизації.
Потік авторизації
- Користувач відкриває аплікацію та вибирає метод входу: Google, Facebook, Codejig, LDAP або "app only".
- OAuth 2.0: Користувача перенаправляють на сторінку авторизації зовнішнього провайдера. Після успішної автентифікації він повертається до аплікації з токеном доступу.
- LDAP: Дані користувача перевіряються безпосередньо на LDAP-сервері.
- App only авторизація: Користувач вводить логін і пароль, які зберігаються на сервері аплікації, без звернення до Codejig.
- Після успішної авторизації користувач отримує доступ до функціональності аплікації з урахуванням наданих ролей та прав.
Взаємозв’язок аплікації з Codejig організацією
- Кожна Codejig організація може мати кілька середовищ розробки та проєктів.
- Проєкти компілюються та розгортаються як один або кілька екземплярів аплікацій у хмарі Codejig або на сторонніх серверах.
- Якщо аплікація розгорнута в хмарі Codejig чи зі збереженням зв’язку з сервером авторизації Codejig, адміністратор організації Codejig може динамічно додавати "звичайних" або "organization only" користувачів. Доступ оновлюється автоматично.
- Якщо аплікація розгорнута без Codejig-авторизації, авторизація можлива лишень через інші методи авторизації. У такому випадку вхід можливий лише для "organization only" користувачів Codejig (дані яких вбудовані під час компіляції) за умови, що ввімкнута локальна ("app only") авторизація. Звичайні користувачі Codejig у цьому випадку не можуть авторизуватись, навіть якщо вони були додані адміністратором організації до цієї аплікації на момент компіляції.
Переваги архітектури
- Гнучкість: Різні методи авторизації для різноманітних типів користувачів.
- Інтеграція: Можливість підключення корпоративних рішень (LDAP).
- Зовнішні сервіси: Підтримка OAuth 2.0 (Google, Facebook, Okta, Codejig).
- Автономія та простота: "App only" авторизація дозволяє використовувати аплікацію ізольовано від платформи Codejig та інших сервісів, що зручно для невеликих компаній і проєктів.
Таким чином, система авторизації Codejig забезпечує широкий спектр можливостей для адаптації під конкретні потреби та умови використання.