已連結應用
應用關係的兩端:用戶如何查看和管理連接到自己帳號的 應用,以及開發者如何申請審核級權限。
面向用戶:授權與授權記錄
當用戶在授權同意頁上批准你的應用時,就建立了一條授權記錄 —— 也就是他們已授權的權限範圍集合。用戶可以隨時查看和撤銷這些記錄。
| 方法 | 路徑 | 用途 |
|---|---|---|
| GET | /developer/grants | 列出當前用戶已授權的應用。 |
| POST | /developer/grants/{clientId}/revoke | 撤銷某個應用對該用戶的存取權限。 |
| GET | /oauth/consents | 列出已授權的應用(授權視圖)。 |
| POST | /oauth/consents/{clientId}/revoke | 斷開某個應用 —— 撤銷授權並終止它的權杖。 |
每條授權記錄都記錄了應用以及被授予的權限範圍。撤銷對已有權杖 是立即且不可逆的:斷開一個應用會使它持有的 存取權杖和更新權杖失效,因此在用戶重新授權之前,該應用無法再 代表該用戶執行任何操作。
這對你的應用意味著什麼: 把權杖失效當作一件正常的事來處理。
用戶隨時都可能斷開連接;一旦斷開,你的調用就會開始返回
401 invalid_token,此時你應該把用戶重新引導到
授權流程,而不是假設權杖永遠有效。
面向開發者:計劃申請
開發者計劃是可選的。註冊應用 —— 無論機密還是公開,帶讀取、草稿和發佈
權限範圍 —— 都是自助的,不需要任何申請。該計劃解鎖的是審核級權限範圍:
已批准的開發者可以在註冊時或透過 PATCH 直接給應用加上 account:read、
a2a 和 recipe:express,而不必逐個按 scope 申請。准入需要邀請:
| 方法 | 路徑 | 用途 |
|---|---|---|
| POST | /developer/applications | 申請加入開發者計劃(需邀請)—— { invite_code, motivation },兩者均必填。 |
| GET | /developer/applications/my | 你的開發者計劃申請及其狀態。 |
一份申請的 status 取值為 pending、approved 或 rejected。在已有申請
處於 pending 時再次申請會返回 409。一旦獲批,審核級權限範圍就不再需要
按 scope 申請 —— 見註冊應用。
開始動手或發佈都不需要計劃審批:一個公共的只讀客戶端 可以立刻按 RFC 7591 自助註冊,門戶也會自助註冊 具備發佈能力的應用。該計劃只面向需要免逐項申請直接獲得審核級 權限範圍的應用。
相關內容
- 註冊應用 —— 自助的應用生命週期
- 權限範圍 —— 用戶在授權同意頁上看到並授予的東西
- OAuth 2.0 + PKCE —— 授權記錄如何建立、權杖如何撤銷
- OpenID Connect —— 登入,以及授權記錄所綁定的身份