Как добавить срок действия в токен JWE? - PullRequest
0 голосов
/ 05 февраля 2019

Я использую библиотеку Jose для создания JWE.Мне удалось создать и разобрать JWE.В JWT есть такие поля, как exp , iat , которые помогают аннулировать токен через определенный промежуток времени.

Как установить истечение срока действия в JWE?

Вот что я пробовал, без опыта:

package main

import (
    jose "gopkg.in/square/go-jose.v2"
)

// len(key) is 32
func CreateJWE(value, key string)(string, error){
    encrypter, err := jose.NewEncrypter(jose.A256GCM, jose.Recipient{Algorithm: jose.A256GCMKW, Key: []byte(key)}, nil)
    if err != nil {
        return "", err
    }
    object, err := encrypter.Encrypt([]byte(value)])
    if err != nil {
        return "", err
    }
    return object.FullSerialize(), nil
}

func ParseJWE(jwe, key string)(string, error){
    object, err := jose.ParseEncrypted(jwe)
    if err != nil {
        return "", err
    }
    b, err := (*object).Decrypt(key)
    return string(b), err
}
...