Система єдиного входу КПІ ім. Ігоря Сікорського отримала підтримку відкритого стандарту OpenID Connect. Першими на новий протокол уже перейшли Електронний кампус і My KPI.

KPI ID (auth.kpi.ua) — єдиний вхід до сервісів КПІ ім. Ігоря Сікорського. Через нього понад 20 тисяч студентів і 2 тисячі викладачів входять до Електронного кампусу, My KPI та інших університетських систем. Підтвердити особу можна кількома способами: через Дія.Підпис, BankID або корпоративний акаунт Google.

Відтепер KPI ID підтримує протокол OpenID Connect. Це відкритий міжнародний стандарт автентифікації, за яким працюють, зокрема, вхід через Google і Microsoft. Підтримка стандарту спрощує підключення нових сервісів до KPI ID: розробники можуть використовувати готові бібліотеки, а популярні платформи — підключатися через стандартні налаштування.

Що таке OpenID Connect

Коли сервіс пропонує «Увійти з Google», він не перевіряє пароль користувача сам. Він передає цю задачу Google, а у відповідь отримує підтвердження, хто саме увійшов. Правила, за якими сервіс і постачальник входу обмінюються цією інформацією, описує стандарт OpenID Connect.

Стандарт відкритий і поширений, тому його підтримує більшість мов програмування, вебфреймворків і готових продуктів. Якщо постачальник входу працює за OpenID Connect, підключення до нього зводиться до кількох налаштувань: адреси постачальника, ідентифікатора сервісу та секретного ключа.

Тепер саме так працює і KPI ID. Для сервісу він стає таким самим постачальником входу, як Google чи Microsoft, тільки з університетськими даними та способами входу, прийнятими в КПІ.

Чому ми додали підтримку стандарту

Ідея з'явилася з практики. Від команд, які розробляють сервіси для університету, надходили запити на підтримку OpenID Connect: багато хто вже працював із цим стандартом в інших проєктах і хотів використовувати звичні інструменти також для інтеграції з KPI ID.

Водночас КБІС свідомо рухається в бік відкритих стандартів у своїх системах. Стандартні рішення простіше підтримувати й розвивати, їх добре знають розробники, а для поширених задач уже існують перевірені інструменти. Підтримка OpenID Connect у KPI ID — один із кроків у цьому напрямі.

Що це дає

Розробникам. Інтеграцію з KPI ID можна побудувати на готовій бібліотеці OpenID Connect для своєї мови програмування. Бібліотека сама отримує налаштування KPI ID за його адресою, перенаправляє користувача на вхід, перевіряє відповідь і повертає дані про користувача. На сторінці інтеграції є готові приклади для Node.js, C#, Python і PHP.

Готовим платформам. Системи, які вже вміють працювати з OpenID Connect, підключаються до KPI ID через налаштування. Для Moodle це плагін auth_oidc, для WordPress — плагін OpenID Connect Generic Client. Аналогічно можна підключити й інші продукти з підтримкою стандарту.

Користувачам. Вхід лишається звичним: кнопка «Увійти з KPI ID», вибір способу підтвердження особи — і користувач у сервісі. Якщо людина вже входила до KPI ID, сторінку входу вона повторно не побачить: KPI ID одразу поверне її до сервісу. Так працює єдиний вхід — один раз підтвердив особу, і далі переходиш між університетськими сервісами без повторної автентифікації.

Як це працює для користувача

  1. Користувач натискає на сайті сервісу кнопку «Увійти з KPI ID».
  2. Сервіс перенаправляє його на сторінку входу KPI ID.
  3. Користувач обирає спосіб входу: Дія.Підпис, BankID або Google.
  4. KPI ID повертає користувача до сервісу, а сервіс отримує підтвердження входу.
  5. Сервіс відкривається вже з виконаним входом.

Сервіси, підключені до KPI ID, також доступні з каталогу на auth.kpi.ua. Якщо відкрити сервіс звідти, користувач потрапляє до нього одразу з виконаним входом.

Для сервісів, яким важливо, щоб особу користувача підтвердила держава, можна увімкнути режим довіреної ідентифікації. У цьому режимі сторінка входу пропонує лише Дія.Підпис і BankID.

Кампус і My KPI — вже на новому протоколі

Сьогодні через KPI ID працюють шість університетських сервісів. Перехід на новий протокол почали з тих, якими в університеті користуються найбільше. Електронний кампус, де студенти переглядають оцінки та відомості, а викладачі ведуть облік успішності, вже працює з KPI ID через OpenID Connect. Так само працює і My KPI, де складають розклад, обирають дисципліни та ведуть індивідуальні плани.

Серед інших сервісів, підключених до KPI ID, — платформа KPI Sign, через яку в університеті укладають і підписують договори, зокрема під час вступної кампанії. До KPI ID підключаються і проєкти, створені поза КБІС. Наприклад, Vote OSS — студентський проєкт для електронного голосування на виборах до органів студентського самоврядування — використовує KPI ID, щоб голосувати могли лише студенти КПІ.

Що далі

Перехід на OpenID Connect відбуватиметься поетапно. Сервіси, підключені до KPI ID за попереднім протоколом, продовжують працювати, як і раніше. Попередній протокол буде вимкнено лише тоді, коли на OpenID Connect перейдуть усі сервіси. Нові сервіси підключаються до KPI ID за OpenID Connect.

Повний посібник з налаштуваннями, прикладами коду для Node.js, C#, Python і PHP та розбором типових помилок: auth.kpi.ua/uk/integration.

З питань реєстрації та підключення сервісів звертайтеся до КБІС.

← Повернутися до блогу