Вход через стороннюю IDM (OAuth)

Метод используется для авторизации в сторонней IDM для входа в Панель управления Клиента, когда используется OAuth (см. users_sign_on_method в Получение настроек реселлера и ). В результате вызова метода сторонняя IDM предоставляет пользователю набор токенов для дальнейшей работы.

В сторонней IDM и Панели управления Клиента должен существовать пользователь с одним и тем же email. 

Если вход в в Панель управления Клиента выполняется через стороннюю IDM (OAuth), следующие функции становятся недоступны:

POST {reseller_domain}/internal_api/oauth_sign_in

В этой статье:

Авторизация

Авторизация не требуется.

Аргументы

Название

Тип параметра

Тип данных

Обязательный/ 
Опциональный

Описание

Content-Type

header

string

Обязательный

Тип данных, передаваемых в запросе. Укажите application/vnd.api+json

Accept

header

string

Обязательный

Поддерживаемые типы данных в ответе. Укажите application/vnd.api+json

X-Api-Locale

header

string

Опциональный

Двухбуквенный код языка данных в ответе

reseller_domain

path

string

Обязательный

Доменное имя реселлера

code

form

string

Опциональный

Если в настройках метода OAth Authentication Flow = Authorization Code (см. )

id_token

form

string

Опциональный

Если в настройках метода OAth Authentication Flow = Implicit (см. )

redirect_uri

form

string

Обязательный

URL Панели управления Клиента, на который нужно вернуть пользователя после успешной авторизации в сторонней IDM

state

form

string

Обязательный

Сгенерированное значение в ответе метода 

Получение ссылки для перенаправления пользователя на страницу авторизации сторонней IDM (OAuth)

Модель ответа

Название

Тип данных

Описание

jwt_refresh

cookie

Refresh token пользователя

access

string

Access token пользователя

csrf

string

CSRF token пользователя

refresh_expires_at

string

Дата истечения refresh token пользователя

account_id

integer

ID аккаунта, в Панель управления Клиента которого переходит менеджер

Пример запроса

Bash
curl --location --request POST 'https://test.activeplatform.com/internal_api/oauth_sign_in' \
--header 'Content-Type: application/vnd.api+json' \
--header 'Accept: application/vnd.api+json' \
--header 'X-Api-Locale: en' \
--data '{
    "data": {
        "attributes": {
            "code": "8a7d04c5-5dca-483a-b778-70cc0445dbb8",
            "redirect_uri": "https://test.activeplatform.com/client/home?sso=true",
            "state": "O9SRGfGtdTWH9Fz"
        }
    }
}'

Пример ответа

JSON
Cookie: jwt_refresh=refreshTokenExample

{
    "access": "accessTokenExample",
    "csrf": "csrfTokenExample==",
    "refresh_expires_at": "2023-01-01T12:34:56.000+00:00",
    "account_id":1234
}