Aller au contenu principal

Créer un Token

note
Lorsque vous créez un JWT, vous devez vous assurer que la clé utilisée pour le générer est stockée dans un endroit sûr, afin d'atténuer toute attaque basée sur jwt. L'utilisation de HS256 n'est pas recommandée car elle utilise une seule chaîne pour forger le jeton Web et elle peut facilement être brutalement forcée par rapport aux algorithmes plus modernes tels que RS256.
Voici ci-dessous un exemple pour créer un jeton Web JSON pour l'algorithme sélectionné :

import {generatePrivateJwk, createSignedJwt} from "@authdog/easyjwt"
const main = async () => {    const payload = {        userId: "e156b806-2879-4f4b-878d-9426d75dbcbf"    }
    const algorithm = "RS256";
    const jwk = await generatePrivateJwk(        "RSA",        algorithm    );
    const token = await createSignedJwt(        payload,        {            algorithm,            claims: {                issuer: "https://my-app.com",                audiences: ["users", "app", "dashboard"],                scopes: "user openid",                sessionDuration: 60 // minutes            },            signinOptions: {                jwk            }        }    );
    // ...    // do something with the token
}
main()

Le token peut avoir les en-têtes et champs suivants:

{  "alg": "RS256",  "typ": "JWT"}
{  "userId": "e156b806-2879-4f4b-878d-9426d75dbcbf",  "iat": 1626934573,  "exp": 1626938173}