pikpak RefreshToken 配置过期后会尝试走一次登陆

pull/7108/head
xiaokai 2024-09-02 11:27:53 +07:00
parent 91efb5cc15
commit 538d8f4e8f
1 changed files with 11 additions and 0 deletions

View File

@ -97,6 +97,17 @@ func (d *PikPak) Init(ctx context.Context) (err error) {
RefreshToken: d.Addition.RefreshToken,
}).Token()
}))
_, err := d.oauth2Token.Token()
if err != nil {
if err := d.login(); err != nil {
return err
}
d.oauth2Token = oauth2.ReuseTokenSource(nil, utils.TokenSource(func() (*oauth2.Token, error) {
return oauth2Config.TokenSource(ctx, &oauth2.Token{
RefreshToken: d.RefreshToken,
}).Token()
}))
}
} else {
// 如果没有填写RefreshToken尝试登录 获取 refreshToken
if err := d.login(); err != nil {