渠道方对比
LINE 接入授权
LINE 仅支持 qrcode 登录。QR URL 与 PIN 不会同步返回,而是通过 webhook 异步下发,再由 session 资源暴露给调用方。
qrcode
LINE QR 登录:QR URL 与 PIN 异步到达。监听 webhook 的 account.auth.required 事件,或者轮询 /auth/session 读 auth_payload.url(QR 图)和 auth_payload.pin。
- 1. POST /v1/accounts,provider=line、auth_mode=qrcode;可选传 metadata.device_login_type(例如 DESKTOPMAC)。
- 2. POST /v1/accounts/{account_id}/auth/qr/start,请求 LINE 服务开启登录会话。
- 3. 等待 webhook 的 account.auth.required 事件。平台同时会把 auth_payload.url(QR 图)和 auth_payload.pin 缓存到账号上,可通过 /auth/session 同步读取。
- 4. GET /v1/accounts/{account_id}/auth/session 取出 QR URL 与 PIN 展示给用户,同时轮询 qr/check。
- 5. account.auth.succeeded 到达后 provider_account_ref 会被自动填好;调用 POST /v1/accounts/{account_id}/runtime/start 让账号上线。
metadata.device_login_type— 可选的设备标识,例如 DESKTOPMAC、DESKTOPWIN。会原样转发给 LINE provider 用于建立 QR 会话。
备注
- QR URL 与 PIN 不会在 qr/start 响应里返回,而是稍后以 account.auth.required webhook 事件异步下发。请 GET /auth/session 或在 webhook 回调里拿。
- PIN 仅供前端展示,不会回传给 LINE。把它显示在 QR 旁边可让用户确认正在扫的是哪一台设备。
- account.auth.succeeded 到达后 provider_account_ref 会被自动填好;事件中还会带上标准 profile 字段(display_name、picture_url、region、status_message)。