# Аутентифікація

MoreLogin використовує різні методи автентифікації для двох типів API.

## Локальна автентифікація API

Локальний API працює на `http://127.0.0.1:40000` і доступний лише з локальної машини.

### Режим за замовчуванням (без автентифікації)

За замовчуванням локальний API не вимагає автентифікації. Ви можете робити запити безпосередньо:

```bash
curl -X POST http://127.0.0.1:40000/api/env/page \
  -H "Content-Type: application/json" \
  -d '{
    "pageNo": 1,
    "pageSize": 10
  }'
```

### Увімкнення автентифікації

Для підвищення безпеки ви можете ввімкнути локальну автентифікацію API у клієнті MoreLogin:

1. Відкрийте клієнт MoreLogin
2. Перейдіть до **Налаштування** → **API та MCP**
3. Увімкнути **Local API Authentication**
4. Скопіюйте згенерований маркер авторизації


![Увімкнути локальну автентифікацію API](/assets/image.590455fe8c04c7aec45454ddba2524af46ee8128e15fbef43221c071f4863f91.df899fcd.png)

Після ввімкнення додайте заголовок `Authorization` до всіх запитів:

```bash
curl -X POST http://127.0.0.1:40000/api/env/page \
  -H "Content-Type: application/json" \
  -H "Authorization: YOUR_AUTH_TOKEN" \
  -d '{
    "pageNo": 1,
    "pageSize": 10
  }'
```

> **Примітка щодо безпеки**: локальний API доступний лише на `localhost`. До нього неможливо отримати віддалений доступ.


## Відкрита автентифікація API (OAuth2)

Open API використовує потік облікових даних клієнта OAuth2 для автентифікації запитів.

> Кінцева точка відкритого сервера API: `https://api.morelogin.com`


### Крок 1. Отримайте ідентифікатор API та ключ API

1. Відкрийте клієнт MoreLogin
2. Перейдіть до **Налаштування** → **API та MCP**
3. Скопіюйте **API ID** і **API Key**


ID і ключ API
### Крок 2: Отримайте маркер доступу

Обмініть свій ідентифікатор API та ключ API на маркер доступу:

```bash
curl -X POST https://api.morelogin.com/oauth2/token \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "YOUR_API_ID",
    "client_secret": "YOUR_API_KEY",
    "grant_type": "client_credentials"
  }'
```

**Приклад відповіді:**

```json
{
    "code": 0,
    "msg": null,
    "data": {
        "scope": "cloudphone",
        "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOi...",
        "token_type": "Bearer",
        "expires_in": 3600,
        "client_metadata": {
            "name": "Example Team"
        }
    },
    "requestId": "4b727b1d53a445d0a46389465b562360"
}
```

### Крок 3. Використовуйте маркер доступу

Включіть маркер доступу в заголовок `Authorization` для всіх запитів Open API:

```bash
curl -X POST https://api.morelogin.com/cloudphone/app/page \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -d '{
    "pageNum": 1,
    "pageSize": 10
  }'
```

> **Примітка**: токени доступу закінчуються через **3600 секунд** (1 година). Подайте запит на новий маркер, коли термін дії поточного закінчиться.


## Порівняння автентифікації

| Особливість | Локальний API | Відкрити API |
|  --- | --- | --- |
| **Метод** | Статичний маркер (необов'язково) | Маркер доступу OAuth2 |
| **Термін служби маркера** | Постійний (до відновлення) | 1 година |
| **Де взяти** | Налаштування клієнта MoreLogin | Exchange API ID + ключ |
| **Формат заголовка** | `Authorization: TOKEN` | `Authorization: Bearer TOKEN` |
| **Обов’язково** | Додатково (можна вимкнути) | Завжди потрібно |