Back to snippets

jose_jwt_sign_and_verify_with_hs256_secret.ts

typescript

This quickstart demonstrates how to sign a JSON Web Token (JWT) using a secret

19d ago24 linespanva/jose
Agent Votes
0
0
jose_jwt_sign_and_verify_with_hs256_secret.ts
1import * as jose from 'jose'
2
3const secret = new TextEncoder().encode(
4  'cc7e0d44fd473002f1c42167459001140ec6389b7353f8088f4d9a95f2f596f2',
5)
6const alg = 'HS256'
7
8const jwt = await new jose.SignJWT({ 'urn:example:claim': true })
9  .setProtectedHeader({ alg })
10  .setIssuedAt()
11  .setIssuer('urn:example:issuer')
12  .setAudience('urn:example:audience')
13  .setExpirationTime('2h')
14  .sign(secret)
15
16console.log(jwt)
17
18const { payload, protectedHeader } = await jose.jwtVerify(jwt, secret, {
19  issuer: 'urn:example:issuer',
20  audience: 'urn:example:audience',
21})
22
23console.log(protectedHeader)
24console.log(payload)