init
This commit is contained in:
38
test/create.ts
Normal file
38
test/create.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
import * as jose from 'jose';
|
||||
import { signJWT, decodeJWT, verifyJWT } from '../src/auth.ts';
|
||||
import { getValues } from '../src/jwks/get.ts';
|
||||
|
||||
const payload = {
|
||||
iss: "https://convex.kevisual.cn",
|
||||
sub: "user:123456",
|
||||
aud: "convex-app",
|
||||
name: "John Doe",
|
||||
email: "john.doe@example.com",
|
||||
// exp: Math.floor(Date.now() / 1000) - (2 * 60 * 60) // 2 hours from now
|
||||
}
|
||||
|
||||
const createToken = async () => {
|
||||
const { privateJWK, privateKeyPEM } = getValues();
|
||||
const token = await signJWT(payload, privateKeyPEM);
|
||||
console.log('Generated JWT:', token);
|
||||
|
||||
// console.log('expited at:', new Date(payload.exp * 1000).toLocaleString());
|
||||
return token;
|
||||
}
|
||||
const token = await createToken()
|
||||
|
||||
const decode = decodeJWT(token)
|
||||
|
||||
console.log('Decoded JWT:', decode);
|
||||
|
||||
const verify = async () => {
|
||||
const { publicKeyPEM, privateJWK, jwks } = getValues();
|
||||
try {
|
||||
const verifiedPayload = await verifyJWT(token, publicKeyPEM);
|
||||
console.log('Verified JWT payload:', verifiedPayload);
|
||||
} catch (error) {
|
||||
console.error('Verification failed:', error);
|
||||
}
|
||||
}
|
||||
|
||||
await verify();
|
||||
Reference in New Issue
Block a user