Skip to content

auth 登入身分 ​

畫面層、邏輯層都可用。

sdk.auth.getSession() ​

ts
sdk.auth.getSession(options?: { refresh?: boolean }): Promise<Session>

interface Session {
  userId: string;
  nickname: string;
  avatar: string | null;   // 沒有頭像時為 null
  token: string;           // 只對本小程序後端有效的短效 token
  expiresAt: string;       // ISO 8601(UTC)
}
選項說明
refreshtrue 時不用快取,一定重新簽發(後端回 401 時用)。需要容器 1.2.0
  • 容器在開啟時就預先簽發 token;剩不到 1 分鐘會自動換新。每次需要時直接呼叫即可。
  • token 綁定小程序 ID,其他小程序的 token 無效。
  • 失敗時以 NETWORK reject(取得 token 失敗);下次呼叫會重新簽發。
ts
const { token } = await sdk.auth.getSession();
const res = await sdk.http.fetch('https://api.example.com/me', {
  headers: { Authorization: `Bearer ${token}` },
});
if (res.status === 401) {
  const fresh = await sdk.auth.getSession({ refresh: true });
  // 用 fresh.token 重試一次
}

後端驗證方式與 401 的處理見網路與登入身分。