跳到主要內容

useJwt

分類
匯出大小
339 B
套件
@vueuse/integrations
上次變更
5 天前

jwt-decode 的封裝器。

範例

標頭

{
  "alg": "HS256",
  "typ": "JWT"
}

有效負載

{
  "sub": "1234567890",
  "iat": 1516239022
}
可在 @vueuse/integrations 附加元件中使用。

安裝

bash
npm install jwt-decode@^4

用法

typescript
import { useJwt } from '@vueuse/integrations/useJwt'
import { defineComponent } from 'vue'

export default defineComponent({
  setup() {
    const encodedJwt = ref('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNTE2MjM5MDIyfQ.L8i6g3PfcHlioHCCPURC9pmXT7gdJpx3kOoyAfNUwCc')
    const { header, payload } = useJwt(encodedJwt)

    return { header, payload }
  },
})

類型宣告

typescript
export interface UseJwtOptions<Fallback> {
  /**
   * Value returned when encounter error on decoding
   *
   * @default null
   */
  fallbackValue?: Fallback
  /**
   * Error callback for decoding
   */
  onError?: (error: unknown) => void
}
export interface UseJwtReturn<Payload, Header, Fallback> {
  header: ComputedRef<Header | Fallback>
  payload: ComputedRef<Payload | Fallback>
}
/**
 * Reactive decoded jwt token.
 *
 * @see https://vueuse.dev.org.tw/useJwt
 */
export declare function useJwt<
  Payload extends object = JwtPayload,
  Header extends object = JwtHeader,
  Fallback = null,
>(
  encodedJwt: MaybeRefOrGetter<string>,
  options?: UseJwtOptions<Fallback>,
): UseJwtReturn<Payload, Header, Fallback>

原始碼

原始碼範例文件

貢獻者

Anthony Fu
Anthony Fu
IlyaL
Devix Rootix
Doctorwu
Curt Grimes
Jelf
Alex Kozack
lstoeferle

變更日誌

v12.8.0 於 2025/3/5
7432f - feat(types): 棄用 MaybeRefMaybeRefOrGetter,改用 Vue 的原生型別 (#4636)
v12.3.0 於 2025/1/2
59f75 - feat(toValue): 棄用 @vueuse/shared 中的 toValue,改用 Vue 的原生型別
v12.0.0-beta.1 於 2024/11/21
0a9ed - feat!: 移除 Vue 2 支援,最佳化 bundle 並清理程式碼 (#4349)
v11.0.0-beta.1 於 2024/6/12
9037d - feat!: 將 jwt-decode 升級至 v4 (#3510)
v10.0.0-beta.4 於 2023/4/13
4d757 - feat(types)!: 將 MaybeComputedRef 重新命名為 MaybeRefOrGetter
0a72b - feat(toValue): 將 resolveUnref 重新命名為 toValue

以 MIT 授權條款發布。