# 认证

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
  }'
```

### 启用身份验证

为了增强安全性，您可以在 MoreLogin 客户端中启用本地 API 身份验证：

1. 打开 MoreLogin 客户端
2. 导航至 **设置** → **API 和 MCP**
3. 启用**本地 API 身份验证**
4. 复制生成的授权令牌


![启用本地 API 身份验证](/assets/image.590455fe8c04c7aec45454ddba2524af46ee8128e15fbef43221c071f4863f91.bb1479e6.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小时 |
| **去哪获取** | MoreLogin 客户端设置 | 交换 API ID + 密钥 |
| **标题格式** | `Authorization: TOKEN` | `Authorization: Bearer TOKEN` |
| **必填** | 可选（可以禁用） | 始终需要 |