# 認証

MoreLogin は、2 つの 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
  }'
```

### 認証の有効化

セキュリティを強化するために、MoreLogin クライアントでローカル API 認証を有効にすることができます。

1. MoreLogin クライアントを開きます
2. **設定** → **API と MCP** に移動します
3. **ローカル API 認証** を有効にする
4. 生成された認証トークンをコピーします


![ローカル API 認証を有効にする](/assets/image.590455fe8c04c7aec45454ddba2524af46ee8128e15fbef43221c071f4863f91.39e4c13f.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 ID と API キーを取得する

1. MoreLogin クライアントを開きます
2. **設定** → **API と MCP** に移動します
3. **API ID** と **API キー** をコピーします。


API ID とキー
### ステップ 2: アクセス トークンを取得する

API ID と 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: アクセス トークンを使用する

すべての Open API リクエストの `Authorization` ヘッダーにアクセス トークンを含めます。

```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時間 |
| **入手場所** | 詳細ログインクライアント設定 | Exchange API ID + キー |
| **ヘッダー形式** | `Authorization: TOKEN` | `Authorization: Bearer TOKEN` |
| **必須** | オプション (無効化可能) | 常に必須 |