go - 如何为 JWE 令牌添加到期时间?
问题描述
我正在使用Jose库来创建 JWE。我已经成功地创建和解析 JWE。JWT 具有exp和iat等字段,它们有助于在一段时间后使令牌失效。
如何在 JWE 上设置到期时间?
这是我尝试过的,没有exp:
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
}
解决方案
推荐阅读
- java - 如何在多个活动和我的回收器适配器中使用方法
- visual-studio-code - 学校可以免费下载 Visual Studio Code 吗?
- c++ - 如何在VSCode上设置数据断点(即观察点)
- leaflet - 从外部 GeoJSON 导入传单标记
- c# - 在 Windows 10 C# 中更改 PC 名称
- angular - ng test = 很多“验证它是这个模块的一部分”错误
- authorization - 是否可以根据 IdP 断言属性值中断 OpenAM 中的身份验证/授权过程?
- pdf - 为什么此脚本会发送损坏的 PDF?
- javascript - 我在 react-useanimations 库上收到 TypeError,需要切换按钮
- python - 使用 audit_log 条目解禁不在特定服务器上工作的目标用户 - discord.py