渠道方對比
LINE 接入授權
LINE 淨係支援 qrcode 登入。QR URL 同 PIN 經 webhook 非同步落,並 cache 喺 GET /auth 嘅 auth_payload。
qrcode
LINE QR 登入:QR URL 同 PIN 非同步到達。監聽 account.auth.required,或者用 GET /auth 讀 cache 嘅 auth_payload,同時 poll 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 provider 開登入會話。
- 3. 等 account.auth.required。平台亦會 cache auth_payload.url 同 auth_payload.pin,可以經 GET /v1/accounts/{account_id}/auth 讀到。
- 4. 顯示 GET /v1/accounts/{account_id}/auth 回傳嘅 QR URL 同 PIN,同時 poll 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 之後由 account.auth.required 下發,並 cache 喺 GET /auth。用 POST /auth/qr/check poll 結果;/auth/session 只支援 POST 匯入 session。
- PIN 淨係畀前端顯示,唔會回傳 LINE。擺喺 QR 旁邊俾使用者確認佢掃緊邊一台。
- account.auth.succeeded 到嗰陣 provider_account_ref 會自動填好,事件入面仲會帶上標準 profile 欄位(display_name、picture_url、region、status_message)。