gpt4 book ai didi

go - 使用 go-oauth2/oauth2 库生成 JWT 刷新 token

转载 作者:行者123 更新时间:2023-12-01 22:26:24 25 4
gpt4 key购买 nike

我正在使用 go 库 https://github.com/go-oauth2/oauth2 生成 Oauth2 访问 token (v3) 。我使用以下 go 伪代码执行此操作:

jwtParams := generates.JWTAccessGenerate{
SignedKey: []byte(secretKey),
SignedMethod: jwt.SigningMethodHS512,
}
manage.Manager.MapAccessGenerate(&jwtParams)

req := oauth2.TokenGenerateRequest{
ClientID: clientId,
UserID: userId,
RedirectURI: redirectUri,
Code: authCode,
}

gt := oauth2.GrantType("authorization_code")
tokenInfo, _ := manage.Manager.GenerateAccessToken(gt, &req)

我得到的结果是 JWT 访问 token ,但刷新 token 不是。
access=XXXX.YYYYY                   expires=5m0s         <== JWT token - OK
refresh=YNFCZUFBWTUEXE5WJMD68W expires=12000h0m0s <== MY ISSUE - Not JWT

如何让这个库生成 JWT 刷新 token ?

2020 年 1 月 17 日更新:经过更多研究后,我注意到许多实现不关心刷新 token 的 JWT 表示,所以我可能也不需要这样做。我仍然想知道这个库是否可行,以供将来引用。

最佳答案

存储刷新值,以后使用该刷新刷新访问 token :

req := oauth2.TokenGenerateRequest{
ClientID: clientId,
UserID: userId,
RedirectURI: redirectUri,
Code: authCode,
}
req.Refresh = refresh
req.Scope = "owner"
rti, err := manager.RefreshAccessToken(req)

您也可以调用 manager.LoadRefreshToken(accessToken)从 accessToken 加载 RefreshToken。

关于go - 使用 go-oauth2/oauth2 库生成 JWT 刷新 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59761364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com