Skip to content

useJwt

类别
导出体积
285 B
依赖包
@vueuse/integrations
上次更改
7 months ago

jwt-decode 的封装。

示例

Header

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

Payload

{
  "sub": "1234567890",
  "iat": 1516239022
}
Available in the @vueuse/integrations add-on.

安装

bash
npm install jwt-decode@^4

使用方法

ts
import { 
useJwt
} from '@vueuse/integrations/useJwt'
import {
defineComponent
} from 'vue'
const
encodedJwt
=
ref
('eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNTE2MjM5MDIyfQ.L8i6g3PfcHlioHCCPURC9pmXT7gdJpx3kOoyAfNUwCc')
const {
header
,
payload
} =
useJwt
(
encodedJwt
)
js
import { useJwt } from '@vueuse/integrations/useJwt'
const encodedJwt = ref(
  'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNTE2MjM5MDIyfQ.L8i6g3PfcHlioHCCPURC9pmXT7gdJpx3kOoyAfNUwCc',
)
const { header, payload } = useJwt(encodedJwt)

类型声明

ts
export interface 
UseJwtOptions
<
Fallback
> {
/** * 解码出错时返回的值 * * @default null */
fallbackValue
?:
Fallback
/** * 解码出错时的错误回调函数 */
onError
?: (
error
: unknown) => void
} export interface
UseJwtReturn
<
Payload
,
Header
,
Fallback
> {
header
:
ComputedRef
<
Header
|
Fallback
>
payload
:
ComputedRef
<
Payload
|
Fallback
>
} /** * 响应式解码的 JWT token。 * * @see https://vueuse.org/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
SerKo
IlyaL
Robin
IlyaL
Devix Rootix
Doctorwu
Curt Grimes
Jelf
Alex Kozack
lstoeferle

更新日志

7432f - feat(types): deprecate MaybeRef and MaybeRefOrGetter in favor of Vue's native (#4636)
59f75 - feat(toValue): deprecate toValue from @vueuse/shared in favor of Vue's native
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)
9037d - feat!: upgrade jwt-decode to v4 (#3510)