# Pinnacle Proxy Env Config

`/api/pinnacle` 不需要登录态，但每个调用方需要配置独立用户和密钥，并通过动态签名访问接口。

## 配置方式

在 `pinnacle/.env` 中配置：

```env
PINNACLE_PROXY_USERS=alice:aliceSecret:/events,/v3/sports;bob:bobSecret:*
```

格式：

```txt
用户名:密钥:权限列表;用户名:密钥:权限列表
```

说明：

- `用户名`：前端请求时放在 `X-Api-User`。
- `密钥`：只保存在服务端和可信调用方，不在请求中明文传递。
- `权限列表`：逗号分隔，写 `/api/pinnacle` 后面的实际路径。
- `*` 表示允许访问所有 `/api/pinnacle` 接口。

## 示例

```env
PINNACLE_PROXY_USERS=viewer:viewerSecret:/events,/v2/currencies;trader:traderSecret:/events,/v4/bets/place,/v4/bets/parlay
```

对应权限：

- `viewer` 可以访问 `/api/pinnacle/events` 和 `/api/pinnacle/v2/currencies`
- `trader` 可以访问 `/api/pinnacle/events`、`/api/pinnacle/v4/bets/place`、`/api/pinnacle/v4/bets/parlay`

## 全量权限

如果要给某个用户所有 `/api/pinnacle` 接口权限，权限列表设置为 `*`：

```env
PINNACLE_PROXY_USERS=admin:adminSecret:*
```

多个用户时：

```env
PINNACLE_PROXY_USERS=admin:adminSecret:*;viewer:viewerSecret:/events,/v2/currencies
```

## 权限路径

权限路径不包含 `/api/pinnacle` 前缀。

例如接口是：

```txt
/api/pinnacle/events
```

权限中写：

```txt
/events
```

接口是：

```txt
/api/pinnacle/v4/bets/place
```

权限中写：

```txt
/v4/bets/place
```

