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

# Xác thực

> Tạo API key và uỷ quyền cho mọi request gửi đến MADIAD Hub.

MADIAD Hub sử dụng **API key** để xác thực các request. Mỗi lần gọi đều phải đính kèm key trong header `Authorization` dưới dạng Bearer token.

```bash theme={null}
Authorization: Bearer mdc_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```

Request không có key hợp lệ sẽ nhận phản hồi `401 Unauthorized`.

## Tạo key

1. Đăng nhập vào [hub.madiad.com](https://hub.madiad.com).
2. Mở **API Keys** và nhấn **Create key**.
3. Đặt tên (ví dụ: `production`, `n8n`, `staging`) rồi sao chép giá trị.

<Warning>
  Key chỉ hiển thị **một lần duy nhất**, ngay khi tạo. Hãy sao chép ngay và lưu vào trình quản lý bí mật. Nếu mất key, thu hồi key đó và tạo cái mới.
</Warning>

## Định dạng key

| Phần   | Ví dụ       | Ý nghĩa                                                         |
| ------ | ----------- | --------------------------------------------------------------- |
| Prefix | `mdc_live_` | Môi trường: key `live` sẽ đăng bài thật                         |
| Body   | `a1b2c3…`   | Phần bí mật của key. Sau khi tạo, dashboard chỉ hiển thị prefix |

Dashboard liệt kê từng key theo prefix và tên, giúp bạn nhận diện mà không lộ phần bí mật.

## Sử dụng key

Gửi key dưới dạng Bearer token trong mọi request:

```bash theme={null}
curl https://api.madiad.com/v1/connections/status \
  -H "Authorization: Bearer $MADIAD_API_KEY"
```

Lưu key trong biến môi trường, không hard-code trong source hay đưa vào code phía client:

```bash theme={null}
export MADIAD_API_KEY="mdc_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
```

## Xoay vòng và thu hồi

Hãy đối xử với key như mật khẩu:

* **Xoay vòng** định kỳ: tạo key mới, cập nhật ứng dụng, rồi thu hồi key cũ.
* **Thu hồi ngay** nếu key bị lộ. Việc thu hồi có hiệu lực trong vài giây và không thể hoàn tác.
* Dùng **key riêng cho từng tích hợp** (mỗi app, server hoặc workflow một key) để thu hồi một key không ảnh hưởng đến các bên còn lại.

<Note>
  Cần uỷ quyền cho *tài khoản mạng xã hội* thay vì API request? Việc đó được thực hiện theo từng **Profile**, xem [Profiles](/vi/concepts/profiles).
</Note>
