OIDC Provider

Методы для работы с Open ID Connect Provider

Получение глобальных настроек OIDC

GET https://api.mixapp.io/v1/workplaces/:name/oidc

Path Parameters

NameTypeDescription

name

string

Имя workplace

Headers

NameTypeDescription

X-Auth-Token

string

Токен, полученный при авторизации

{ 
    "result": {
        "collection": "users",
        "token": "oidc_token",
        "token_timeout": 600000,
        "id_token_timeout": 600000,
        "refresh_timeout": 600000,
        "session_timeout": 600000
    }
}

Обновление глобальных настроек OIDC

POST https://api.mixapp.io/v1/workplaces/:name/oidc

Path Parameters

NameTypeDescription

name

string

Имя workplace

Headers

NameTypeDescription

Content-Type

string

application/json

X-Auth-Token

string

Токен, полученный при авторизации

Request Body

NameTypeDescription

session_timeout

integer

Время жизни сессии

refresh_timeout

integer

Время жизни refresh_token

id_token_timeout

integer

Время жизни id_token

token_timeout

integer

Время жизни access_token

collection

string

Имя коллекции DataStorage, где будут хранится пользователи

{ 
    "result": {
        "collection": "users",
        "token": "oidc_token",
        "token_timeout": 600000,
        "id_token_timeout": 600000,
        "refresh_timeout": 600000,
        "session_timeout": 600000
    }
}
Example request
{
        "collection": "users",
        "token_timeout": 600000,
        "id_token_timeout": 600000,
        "refresh_timeout": 600000,
        "session_timeout": 600000
}

Генерация нового токена OIDC

POST https://api.mixapp.io/v1/workplaces/:name/oidc/token

Path Parameters

NameTypeDescription

name

string

Имя workplace

Headers

NameTypeDescription

Content-Type

string

application/json

X-Auth-Token

string

Токен, полученный при авторизации

{ 
    "result": {
        "collection": "users",
        "token": "new_oidc_token",
        "token_timeout": 600000,
        "id_token_timeout": 600000,
        "refresh_timeout": 600000,
        "session_timeout": 600000
    }
}
Example request
{}

Список клиентов OIDC

GET https://api.mixapp.io/oidc/:name/registration

Path Parameters

NameTypeDescription

name

string

Имя workplace

Headers

NameTypeDescription

Authorizarion

string

Bearer <OIDC_TOKEN>

[
    {
        "client_id": "5a82de9435b3820437d23cfs",
        "application_type": "native",
        "response_types": ["code", "code id_token token"],
        "scopes": [
            {
                "name": "role",
                "desc": "User roles",
                "fields": ["role","email"]
            }
        ],
        "client_secret": "client_secret_key",
        "redirect_uris": ["http://domain.com/app/authorize"],
        "post_logout_redirect_uris": ["http://domain.com/aurhorize"],
        "client_secret_expires_at": 0,
        "client_name": "Client Name",
        "contacts": [],
        "logo_uri": "",
        "client_uri": "",
        "tos_uri": "",
        "policy_uri": ""
    }
]

Создание нового клиента

POST https://api.mixapp.io/oidc/:name/oidc/registration

Path Parameters

NameTypeDescription

name

string

Имя workplace

Headers

NameTypeDescription

Content-Type

string

application/json

Authorizarion

string

Bearer <OIDC_TOKEN>

Request Body

NameTypeDescription

scope

array

Дополнительные scope, которые могут содержаться в id_token

redirect_uris

array

Список разрешенных URLs для переадресации при успешной авторизации

post_logout_redirect_uris

array

Список разрешенный URLs для переадресации при выходе из системы

client_secret_expires_at

integer

client_name

string

Название клиента

contacts

string

Контакты для формы авторизации

logo_uri

string

Ссылка на логотип для формы авторизации

client_uri

string

tos_uri

string

Ссылка на Terms of use

policy_uri

string

Ссылка на Privacy policy

response_types

array

Поддерживаемые типы авторизации.

application_type

string

Тип клиента: native или web

{
    "client_id": "5cc6c9ca307754000100525f",
    "application_type": "native",
    "response_types": [
        "code"
    ],
    "scopes": [
        {
            "name": "roles",
            "desc": "User roles",
            "fields": [
                "roles"
            ]
        }
    ],
    "client_secret": "getcspwl0gczv7ilsihxsv9adkselzgjthiv1qogapckcyn1yhhighcigpod0zkn",
    "redirect_uris": [
        "http://domain.com/auth"
    ],
    "post_logout_redirect_uris": [
        "http://domain.com/logout"
    ],
    "client_secret_expires_at": 0,
    "client_name": "New client",
    "contacts": [],
    "logo_uri": "",
    "client_uri": "",
    "tos_uri": "",
    "policy_uri": ""
}
Example request
{        
        "application_type": "native",
        "response_types": ["code"],
        "scopes": [
            {
                "name": "roles",
                "desc": "User roles",
                "fields": ["roles"]
            }
        ],
        "redirect_uris": ["http://domain.com/auth"],
        "post_logout_redirect_uris": ["http://domain.com/logout"],
        "client_secret_expires_at": 0,
        "client_name": "New client",
        "contacts": [],
        "logo_uri": "",
        "client_uri": "",
        "tos_uri": "",
        "policy_uri": ""
    }

Информация о клиенте

GET https://api.mixapp.io/oidc/:name/registration

Path Parameters

NameTypeDescription

name

string

Имя workplace

Query Parameters

NameTypeDescription

client_id

string

Идентификатор запрашиваемого клиента

Headers

NameTypeDescription

Authorizarion

string

Bearer <OIDC_TOKEN>

{
    "client_id": "5cc6c9ca307754000100525f",
    "application_type": "native",
    "response_types": [
        "code"
    ],
    "scopes": [
        {
            "name": "roles",
            "desc": "User roles",
            "fields": [
                "roles"
            ]
        }
    ],
    "client_secret": "getcspwl0gczv7ilsihxsv9adkselzgjthiv1qogapckcyn1yhhighcigpod0zkn",
    "redirect_uris": [
        "http://domain.com/auth"
    ],
    "post_logout_redirect_uris": [
        "http://domain.com/logout"
    ],
    "client_secret_expires_at": 0,
    "client_name": "New client",
    "contacts": [],
    "logo_uri": "",
    "client_uri": "",
    "tos_uri": "",
    "policy_uri": ""
}

Обновление клиента

POST https://api.mixapp.io/oidc/:name/oidc/registration

Path Parameters

NameTypeDescription

name

string

Имя workplace

Query Parameters

NameTypeDescription

client_id

string

Идентификатор обновляемого клиента

Headers

NameTypeDescription

Content-Type

string

application/json

Authorizarion

string

Bearer <OIDC_TOKEN>

Request Body

NameTypeDescription

generate_token

boolean

true - сгенерировать новый токен, false - сохранение настроек, без генерации нового токена

scope

array

Дополнительные scope, которые могут содержаться в id_token

redirect_uris

array

Список разрешенных URLs для переадресации при успешной авторизации

post_logout_redirect_uris

array

Список разрешенный URLs для переадресации при выходе из системы

client_secret_expires_at

integer

client_name

string

Название клиента

contacts

string

Контакты для формы авторизации

logo_uri

string

Ссылка на логотип для формы авторизации

client_uri

string

tos_uri

string

Ссылка на Terms of use

policy_uri

string

Ссылка на Privacy policy

response_types

array

Поддерживаемые типы авторизации.

application_type

string

Тип клиента: native или web

{
    "client_id": "5cc6c9ca307754000100525f",
    "application_type": "native",
    "response_types": [
        "code"
    ],
    "scopes": [
        {
            "name": "roles",
            "desc": "User roles",
            "fields": [
                "roles"
            ]
        }
    ],
    "client_secret": "getcspwl0gczv7ilsihxsv9adkselzgjthiv1qogapckcyn1yhhighcigpod0zkn",
    "redirect_uris": [
        "http://domain.com/auth"
    ],
    "post_logout_redirect_uris": [
        "http://domain.com/logout"
    ],
    "client_secret_expires_at": 0,
    "client_name": "New client",
    "contacts": [],
    "logo_uri": "",
    "client_uri": "",
    "tos_uri": "",
    "policy_uri": ""
}
Example request
{        
        "application_type": "native",
        "response_types": ["code"],
        "scopes": [
            {
                "name": "roles",
                "desc": "User roles",
                "fields": ["roles"]
            }
        ],
        "redirect_uris": ["http://domain.com/auth"],
        "post_logout_redirect_uris": ["http://domain.com/logout"],
        "client_secret_expires_at": 0,
        "client_name": "New client",
        "contacts": [],
        "logo_uri": "",
        "client_uri": "",
        "tos_uri": "",
        "policy_uri": "",
        "generate_token": false
}

Удаление клиента

DELETE https://api.mixapp.io/oidc/:name/registration

Path Parameters

NameTypeDescription

name

string

Имя workplace

Query Parameters

NameTypeDescription

client_id

string

Идентификатор запрашиваемого клиента

Headers

NameTypeDescription

Authorizarion

string

Bearer <OIDC_TOKEN>

{ 
    "result": true 
}

Last updated