Огляд способів автентифікації Spotnana
ЗМІСТ
У Spotnana доступно кілька способів автентифікації, які дозволяють партнерам безпечно інтегруватися з нашою платформою. У цій документації наведено загальний огляд підтримуваних методів автентифікації Spotnana, а також детально описано, як саме відбувається кожен із процесів. Тут розглядаються різні сценарії автентифікації, які демонструють, як Spotnana перевіряє та надає доступ користувачам до захищених ресурсів організації (тобто ресурсів, які належать компанії користувача на платформі Spotnana).
Ключові складові
Перед початком роботи ознайомтеся з цим переліком основних компонентів системи, які згадуються у цій документації.
- Інтерфейс Spotnana(Інтерфейс користувача Spotnana) Це вебзастосунок Spotnana (онлайн-інструмент для бронювання) або мобільний застосунок Spotnana. Зокрема, мається на увазі сторінка входу, яка запускає процес автентифікації при вході або створенні облікового запису.
- Сервер Spotnana Це серверна частина Spotnana, яка відповідає за автентифікацію (наприклад, надання доступу до ресурсів та безпечне зберігання й обробку даних користувачів).
- Інтерфейс партнера (Інтерфейс користувача партнера) Інтерфейс (тобто фронтенд-застосунок), який використовують партнери для доступу до платформи Spotnana. Наприклад, при автентифікації через iFrame, платформа Spotnana вбудовується у власний інтерфейс партнера, і користувачі працюють зі Spotnana саме через нього.
- Сервер партнера Один або кілька серверів, які використовують наші партнери для інтеграції зі Spotnana.
- Spotnana IdP (Постачальник ідентифікації Spotnana) Внутрішній сервіс Spotnana для керування ідентифікацією користувачів та надання їм прав доступу.
- IdP партнера Сторонні постачальники ідентифікації (IdP), які використовують партнери. Серед найпоширеніших — Google та Azure.
- OBT Онлайн-інструмент для бронювання Spotnana (OBT), доступний за адресою https://app.spotnana.com/
- Токен суб’єкта У сценаріях автентифікації через iFrame (або токен-обмін), токен суб’єкта ідентифікує користувача. За допомогою цього токена знаходиться інформація про користувача та підтверджується його право доступу до платформи Spotnana.
- Токен доступу Обліковий ключ (OAuth), який застосунок партнера використовує для доступу до захищених ресурсів від імені користувача. Це тимчасовий дозвіл, що дозволяє виконувати API-запити без розкриття пароля користувача.
- Токен оновлення Довготривалий обліковий ключ, який дозволяє отримувати нові токени доступу без повторної автентифікації користувача. Зазвичай видається разом із токеном доступу під час першого входу.
- Облікові дані клієнта Інформація, яку отримують користувачі для прямого підключення до API Spotnana (зокрема, унікальні
clientId
таclientSecret
). - PID (Персональний ідентифікатор) Унікальний ідентифікатор, створений для користувача. За допомогою PID отримується інформація про користувача із сервера Spotnana.
orgId
Унікальний ідентифікатор, який Spotnana присвоює організації користувача.tmcId
Унікальний ідентифікатор, який Spotnana присвоює туристичній компанії (TMC).
Підтримувані способи автентифікації
Spotnana підтримує такі способи автентифікації:
- Автентифікація за паролем
- Автентифікація через IdP
- Автентифікація через API
- Автентифікація через iFrame
- Автентифікація за допомогою коду авторизації
- Автентифікація «машина до машини» (M2M)
Автентифікація за паролем
Під час автентифікації за паролем процес входу ініціюється та керується інтерфейсом Spotnana (тобто сторінкою входу або реєстрації в OBT), який взаємодіє із сервером Spotnana. Залежно від того, чи користувач уже має профіль, чи створює новий, сценарій автентифікації може відрізнятися. Нижче наведено пояснення обох варіантів із відповідними схемами.
Існуючий користувач
Нижче наведено послідовність дій та схема, які показують, як інтерфейс Spotnana взаємодіє із серверними службами для автентифікації існуючого користувача.
Схема: Послідовна діаграма, що ілюструє автентифікацію за паролем для існуючих користувачів.
Крок | Послідовність |
---|---|
Існуючий користувач входить через OBT або мобільний застосунок Spotnana, використовуючи свою електронну пошту. | |
1 |
|
2 |
|
3 |
|
Новий користувач
Нижче наведено послідовність дій та схема, які показують, як інтерфейс Spotnana взаємодіє із серверними службами для автентифікації нового користувача (або існуючого користувача, який відновлює пароль).
Схема: Послідовна діаграма, що ілюструє автентифікацію за паролем для нових користувачів.
Крок | Послідовність |
---|---|
Новий користувач вводить свою електронну пошту на сторінці входу Spotnana OBT і натискає Далі. | |
1 |
|
1 a | Користувач створює новий пароль і натискає Далі. |
2 |
|
3 |
|
4 |
|
Автентифікація через IdP
Spotnana підтримує автентифікацію через IdP, такі як Google, Azure, а також власні IdP за допомогою OpenID Connect та SAML. Нижче наведено послідовність дій та схему для цього способу автентифікації.
Схема: Послідовна діаграма, що ілюструє автентифікацію через IdP.
Крок | Послідовність |
---|---|
Користувач входить через OBT або мобільний застосунок Spotnana, використовуючи свою електронну пошту. | |
1 |
|
2 | Інтерфейс Spotnana перенаправляє запит до Spotnana IdP. |
3 | Spotnana IdP перенаправляє запит до IdP партнера. Це ініціює автентифікацію користувача через IdP. Примітка: Кожне перенаправлення супроводжується статус-кодом 302, який означає зміну адреси запиту. |
4 | Встановлюється з'єднання між Spotnana IdP та IdP партнера, щоб підтвердити автентифікацію користувача. Примітка: Під час цього з'єднання Spotnana IdP надсилає |
5 | IdP партнера успішно автентифікує користувача. Примітка: Після цього профіль користувача має пройти перевірку bearer-токена. |
5 a | Після успішної автентифікації відповідь від IdP партнера надсилається до Spotnana IdP. |
5 b | Spotnana IdP генерує унікальний код для профілю користувача і надсилає його інтерфейсу Spotnana. |
6 |
Примітка: Успішне створення bearer-токена означає, що користувача автентифіковано і він може працювати зі Spotnana. |
7 |
|
Автентифікація через API
Партнери, які підключаються до платформи Spotnana через API, можуть використовувати наш endpoint для автентифікації, щоб згенерувати bearer-токен для своїх користувачів. Нижче наведено схему, яка ілюструє цей процес.
Схема: Послідовна діаграма, що ілюструє автентифікацію через API.
Крок | Послідовність |
---|---|
1 | Користувач API надсилає POST запит на Ось приклад cUrl-запиту для використання endpoint curl -i -X POST \ https://api.spotnana.com/get-auth-token \ -H 'Content-Type: application/json' \ -d '{ "clientId": "sample-apiuser@tmcorg.com", "clientSecret": "<password>" }' Примітка: Замініть значення |
2 |
|
Після отримання bearer-токена всі подальші запити до API Spotnana (наприклад, Trip APIs) мають містити bearer-токен у заголовку для авторизації.
Примітка: Endpoint get-auth-token(clientId, clientSecret)
має обмеження — не більше 100 викликів API за 5 хвилин.
Автентифікація через iFrame
iFrame або вбудоване рішення — це коли партнери інтегрують інтерфейс Spotnana у свій власний інтерфейс, і користувачі працюють зі Spotnana саме через нього. У цьому випадку автентифікація здійснюється шляхом обміну токенами між системами партнера та Spotnana.
Примітка: Для автентифікації через iFrame користувача, що входить, називатимемо caller. Це потрібно для окремих сценаріїв, коли API/машинний користувач входить і запитує токен доступу для іншого користувача. Такий API/машинний користувач може використовувати адміністраторські облікові дані TMC (туристичної компанії), щоб напряму підключитися до сервера Spotnana. Тому термін caller використовується як універсальний — це може бути як користувач, що входить у свій профіль, так і API/машинний користувач, який отримує токен для іншого.
Нижче наведено схему, яка показує, як відбувається автентифікація через обмін токенами між Spotnana та серверами партнера.
Схема: Послідовна діаграма, що ілюструє автентифікацію через iFrame із використанням обміну токенами.
Крок | Послідовність |
---|---|
Caller входить через інтерфейс партнера. | |
1 | Інтерфейс партнера відображає інтерфейс Spotnana у вигляді iFrame. |
2 | Інтерфейс Spotnana надсилає запит до інтерфейсу партнера через post message, щоб отримати токени. У запиті вказано type=TOKEN_EXCHANGE_REQUEST . |
3 | Інтерфейс партнера надсилає API-запит до сервера партнера для отримання OAuth-токена, запускаючи наступні кроки автентифікації. |
3 a | Сервер партнера звертається до сервера Spotnana, передаючи облікові дані користувача та токен суб’єкта як параметри. Сервер Spotnana перевіряє, чи запит надійшов від API/машинного користувача. |
3 b |
|
3 c |
|
4 | Інтерфейс партнера надсилає токен до інтерфейсу Spotnana через post message з |
5 |
Примітка: Успішне створення bearer-токена означає, що користувача автентифіковано і він може працювати зі Spotnana. |
6 |
|
Автентифікація за допомогою коду авторизації
Нижче наведено схему, яка показує, як відбувається автентифікація з використанням коду авторизації.
Схема: Послідовна діаграма, що ілюструє автентифікацію за допомогою коду авторизації.
Крок | Послідовність |
---|---|
1 | Інтерфейс партнера звертається до сервера партнера, щоб отримати auth code для caller, який входить у систему. Auth code повертається до інтерфейсу партнера. |
2 | Інтерфейс партнера надсилає запит до інтерфейсу Spotnana через спеціальну redirect-URL, у якій передаються |
3 | Інтерфейс Spotnana надсилає POST API-запит до сервера Spotnana на endpoint |
3 a |
|
3 b | Сервер Spotnana генерує access token та refresh token і надсилає їх інтерфейсу Spotnana. |
4 |
Примітка: Успішне створення bearer-токена означає, що користувача автентифіковано і він може працювати зі Spotnana. |
5 |
|
Примітка: Цей спосіб автентифікації не підходить для ситуацій, коли адміністратор TMC дозволяє кільком користувачам входити під однією електронною поштою.
Автентифікація «машина до машини» (M2M)
Спосіб M2M підходить для сценаріїв, коли клієнтський застосунок звертається до стороннього callback-URL для генерації accessToken
для користувача. Нижче наведено схему, яка ілюструє цей процес.
Схема: Послідовна діаграма, що ілюструє автентифікацію «машина до машини».
Крок | Послідовність |
---|---|
Публічні ключі для всіх застосунків, що беруть участь в автентифікації, синхронізуються між сервером Spotnana та Spotnana IdP. Вони використовуються для перевірки токена доступу під час автентифікації. | |
1 | Сервер партнера надсилає API-запит на |
2 |
|
3 |
|
Ця стаття була корисною?
Чудово!
Дякуємо за відгук
Даруйте, що не вдалося допомогти вам
Дякуємо за відгук
Відгук надіслано
Дякуємо за допомогу! Ми докладемо всіх зусиль, щоби виправити статтю