TokenService 提供了一個低階 API,用於直接與工作階段權杖和重新整理權杖進行互動。它處理從各自的瀏覽器儲存位置(工作階段權杖儲存在 cookies,重新整理權杖儲存在 localStorage)儲存和檢索這些權杖的邏輯。
雖然此服務可用於特定的使用案例,但大多數開發者不需要直接使用它。像 AuthService 和 createAxios/createFetch 輔助工具這樣更高階的抽象層會自動管理權杖的處理。有關典型的身份驗證和工作階段管理,請參閱 驗證指南。
方法
getSessionToken
檢索目前的工作階段權杖。此服務會先嘗試從瀏覽器的 cookies 中取得權杖。作為備用方案,如果在設定中提供了特定的金鑰,它會接著檢查 localStorage。
參數
- config
object— 一個可選的設定物件。- sessionTokenKey
string— 如果在 cookies 中找不到工作階段權杖,則用於在 window.localStorage 中尋找該權杖的金鑰。
- sessionTokenKey
返回值
- ****
string— 工作階段權杖,如果未找到則為空字串。
範例
// 主要檢查 cookies
const sessionToken = sdk.token.getSessionToken();
// 先檢查 cookies,然後使用指定的金鑰檢查 localStorage
const sessionTokenWithFallback = sdk.token.getSessionToken({
sessionTokenKey: 'my-app-session-key',
});setSessionToken
在瀏覽器的 cookies 中設定或更新工作階段權杖。
參數
- value
string(required) — 要儲存的工作階段權杖值。
返回值
- ****
void— 此方法沒有返回值。
範例
sdk.token.setSessionToken('new-session-token-value-from-server');removeSessionToken
從瀏覽器的 cookies 中移除工作階段權杖。
返回值
- ****
void— 此方法沒有返回值。
範例
sdk.token.removeSessionToken();getRefreshToken
從瀏覽器的 localStorage 中檢索重新整理權杖。
返回值
- ****
string | null— 重新整理權杖,如果不存在則為 null。
範例
const refreshToken = sdk.token.getRefreshToken();
if (refreshToken) {
console.log('重新整理權杖可用。');
}setRefreshToken
在瀏覽器的 localStorage 中設定或更新重新整理權杖。
參數
- value
string(required) — 要儲存的重新整理權杖值。
返回值
- ****
void— 此方法沒有返回值。
範例
sdk.token.setRefreshToken('new-refresh-token-value-from-server');removeRefreshToken
從瀏覽器的 localStorage 中移除重新整理權杖。
返回值
- ****
void— 此方法沒有返回值。
範例
sdk.token.removeRefreshToken();