## jwt

JwtPackage Interface

Das JwtPackage-Interface bietet Funktionen zum Erstellen und Analysieren von JWT (JSON Web Token). Es enthält folgende Methoden:

-   `create(claims: { [key: string]: any }, options?: { secret?: string, validityDuration?: number }): string`:
    Diese Methode nimmt ein claims-Objekt und optionale Einstellungen entgegen und gibt einen signierten JWT-String zurück. Mit dieser Methode können Sie JWTs erstellen, die Daten enthalten und mit einem geheimen Schlüssel signiert sind.

-   `parse(token: string, options?: { secret?: string }): { error?: string, valid: boolean, method: { Name: string, Hash: number }, header: { alg: string, typ: string }, claims: { exp?: number, [key: string]: any } }`:
    Diese Methode nimmt einen JWT-String und optionale Einstellungen entgegen und gibt ein Objekt zurück, das Informationen über den Token enthält. Mit dieser Methode können Sie JWTs analysieren und die in ihnen enthaltenen Daten extrahieren.

```ts
interface JwtPackage {
    /**
     * create a jwt signed token string
     *
     * @param claims data object
     * @param options options (secret, validityDuration = expiry in X seconds)
     */
    create(
        claims: {
            [key: string]: any
        },
        options?: {
            secret?: string
            validityDuration?: number
        }
    ): string

    /**
     * parse jwt token string
     *
     * @param token token string
     * @param options options (secret)
     */
    parse(
        token: string,
        options?: {
            secret?: string
        }
    ): {
        error?: string
        valid: boolean
        method: {
            Name: string
            Hash: number
        }
        header: {
            alg: string
            typ: string
        }
        claims: {
            exp?: number
            [key: string]: any
        }
    }
}
```
