> ## Documentation Index
> Fetch the complete documentation index at: https://ifdocdemo.lumivescence.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Xác thực

> Đăng nhập cho agent bằng OAuth device flow hoặc bằng API key, trong sandbox hoặc trong production.

Một lần đăng nhập kết nối agent với Discover, Onboard và Pay. Theo mặc định, agent thanh toán từ số dư InFlow của tài khoản này.

| Phương thức | Cách hoạt động | Dùng khi |
| - | - | - |
| Device flow | Chủ sở hữu phê duyệt đăng nhập trong trình duyệt. CLI lưu các token trong vault. | Một người sở hữu agent và phê duyệt các khoản thanh toán của agent đó. |
| API key | CLI gửi key trong mọi request, không có bước trình duyệt. | Agent chạy trên server hoặc trong CI, với một key từ dashboard. |

Mở khóa [vault](https://ifdocdemo.lumivescence.com/vi/agents/install-the-cli.md#mở-khóa-vault) trước khi bạn đăng nhập.

## Kiểm tra trạng thái hiện tại

Kiểm tra xem agent đã có phiên chưa.

```bash theme={null}
inflow auth status
```

Nếu `authenticated` là `false`, đăng nhập. Thêm `--probe` để kiểm thử access token đã lưu với server. Probe gọi `GET /v1/users/self`.

```bash theme={null}
inflow auth status --probe
```

## Đăng nhập bằng device flow

```bash theme={null}
inflow auth login --client-name "my-agent"
```

Chọn một tên rõ ràng và duy nhất cho `--client-name`. Chủ sở hữu thấy tên này trên trang phê duyệt. Tên mặc định là `InFlow`.

Response chứa ba giá trị.

| Trường | Việc cần làm |
| - | - |
| `verification_url` | Đưa URL này cho chủ sở hữu. Chủ sở hữu mở URL và phê duyệt đăng nhập. |
| `phrase` | Đưa cụm từ này cho chủ sở hữu cùng với URL. |
| `_next.command` | Chạy lệnh này ngay lập tức. Không chờ chủ sở hữu trả lời. Lệnh này thăm dò cho đến khi đăng nhập hoàn tất. |

### Thăm dò trong cùng một lệnh

Đặt một giá trị dương cho `--interval` để thăm dò cho đến khi device flow kết thúc.

```bash theme={null}
inflow auth login --client-name "my-agent" --interval 5 --timeout 300
```

Dùng dạng này khi môi trường của bạn không thể hiển thị cụm từ trong lúc một lệnh khác chặn terminal.

| Flag | Mặc định | Chức năng |
| - | - | - |
| `--interval` | `0` | Chu kỳ thăm dò, tính bằng giây. `0` trả về URL xác minh và một lệnh tiếp theo ngay lập tức. |
| `--max-attempts` | `0` | Số lần thăm dò tối đa. `0` không đặt giới hạn, nhưng `--timeout` vẫn áp dụng. |
| `--timeout` | `300` | Hạn chót thăm dò, tính bằng giây. |

Sau đó chạy `inflow auth status` để xác nhận đăng nhập.

## Đăng nhập bằng API key

Truyền `--api-key` hoặc đặt `INFLOW_API_KEY`. Sau đó CLI gửi key dưới dạng `X-API-KEY` trong mọi request.

```bash theme={null}
export INFLOW_API_KEY=your_key_here
inflow balances list
```

Khi có cả hai, flag được ưu tiên cho lệnh đó.

Với agent chỉ mua, dùng API key từ một **tài khoản Developer**. Một **tài khoản Seller** cũng có thể mua, và tích hợp của người bán cần key của tài khoản này. Tài khoản User dành cho người phê duyệt agent. Tài khoản này đăng nhập bằng device flow.

Để tạo một key, mở **Configuration** > **API Keys** trong dashboard của tài khoản. Chọn **Add API Key**. Dùng giá trị **Private Key**, không dùng **Public Key**. Xem [Tạo tài khoản Seller](https://ifdocdemo.lumivescence.com/vi/sellers/create-a-seller-account.md#đăng-ký-và-tạo-key).

> [!WARNING]
>
> Coi API key và OAuth token là thông tin bí mật. Không bao giờ in chúng trong cuộc trò chuyện, trong log hoặc trong file kế hoạch.

## Chọn môi trường

Theo mặc định, CLI dùng `production`. Chọn sandbox theo một trong ba cách.

| Phương thức | Ví dụ |
| - | - |
| Flag `--sandbox` | `inflow auth status --sandbox` |
| Flag `--environment` | `inflow auth status --environment sandbox` |
| Biến `INFLOW_ENVIRONMENT` | `export INFLOW_ENVIRONMENT=sandbox` |

Token gắn với môi trường đã cấp token đó. Đăng nhập một lần cho mỗi môi trường mà bạn dùng.

```bash theme={null}
inflow auth login --sandbox --client-name "my-agent" --interval 5
inflow auth status --sandbox
```

CLI đọc thiết lập theo thứ tự này: flag CLI, biến môi trường, cấu hình đã lưu và giá trị mặc định có sẵn.

## Đăng xuất

```bash theme={null}
inflow auth logout
```

> [!WARNING]
>
> `inflow auth logout` cũng xóa vault cục bộ và các credential dịch vụ đã lưu. Lấy phê duyệt của chủ sở hữu trước khi agent chạy lệnh này.

## Khắc phục sự cố

> [accordion] Đăng nhập không bao giờ hoàn tất
>
> Chủ sở hữu không phê duyệt đăng nhập trước hạn chót. Hạn chót mặc định là 300 giây. Chạy lại `inflow auth login`. Đưa URL mới cho chủ sở hữu ngay lập tức.

> [accordion] auth status báo đã xác thực, nhưng các request thất bại
>
> Chạy `inflow auth status --probe`. Probe kiểm thử token với server. Nếu probe thất bại, đăng nhập lại.

> [accordion] Đăng nhập hoạt động trong một môi trường nhưng không hoạt động trong môi trường kia
>
> Token không chuyển giữa các môi trường. Đăng nhập lại với `--sandbox`, hoặc không có flag này cho production.

Về lỗi vault và lỗi `403 SELLER_ACCOUNT_REQUIRED`, xem [Lỗi](https://ifdocdemo.lumivescence.com/vi/reference/errors.md).

## Bước tiếp theo

> [card] [Tìm và ghi danh với dịch vụ](https://ifdocdemo.lumivescence.com/vi/agents/discover-and-enroll.md)
>
> Tìm một dịch vụ trong directory và lấy credential cho dịch vụ đó.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.