渠道方对比
LINE 接入授权
LINE 仅支持 qrcode 登录。QR URL 与 PIN 不会同步返回,而是通过 webhook 异步下发,并缓存到 GET /auth 返回的 auth_payload。
qrcode
LINE QR 登录:QR URL 与 PIN 异步到达。监听 account.auth.required,或通过 GET /auth 读取缓存的 auth_payload,同时轮询 POST /auth/qr/check。
- 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,可通过 GET /v1/accounts/{account_id}/auth 读取。
- 4. 展示 GET /v1/accounts/{account_id}/auth 返回的 QR URL 与 PIN,同时轮询 POST /v1/accounts/{account_id}/auth/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 异步下发,并缓存到 GET /auth。授权结果用 POST /auth/qr/check 轮询;/auth/session 仅支持 POST 导入 session。
- PIN 仅供前端展示,不会回传给 LINE。把它显示在 QR 旁边可让用户确认正在扫的是哪一台设备。
- account.auth.succeeded 到达后 provider_account_ref 会被自动填好;事件中还会带上标准 profile 字段(display_name、picture_url、region、status_message)。