## 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 Einstellungen entgegen, welche den Token secret beeinhalten, 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
        }
    }
}
```
