-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: 解决多吉云临时秘钥两个小时过期的问题 #6273
fix: 解决多吉云临时秘钥两个小时过期的问题 #6273
Conversation
当第一次 大佬你这个三段式秘钥第一次获取也是通过官方API获取吗?然后后续会自动刷新? 😹 |
确实不够方便,但因为我个人一直在用多吉云,所以就想折腾一下。这里刷新的逻辑,也是参考了其他几个driver的刷新方案,算是加了个定时任务,定时刷新,我昨天自己实测应该是没问题了。 |
所以第一次获取三段式的第三段的秘钥是通过多吉云API获取还是填写前两段正常的吗,然后第三段自己会自动填充 |
我知道你想问什么了,对的,控制台配置就还是配置多吉云提供的永久秘钥,然后程序认证之前会先通过永久秘钥请求多吉云的接口生成临时秘钥,然后用这个临时秘钥跟他交互。这次pr就是为了解决这个临时秘钥只有2小时有效期的问题。 |
昂 那还是有点儿门槛,正常用户不会去请求接口获取临时秘钥 哈哈~ 😹 😹 |
其实还好,一般用户的确不用关心,因为之前做过这块儿交互,所以相对熟悉一点。 最后,期待 @xhofe 早日合并。 |
哈哈 我想说的是 普通用户也想挂载这个 哈哈 就卡在了获取临时秘钥的门槛 😹 |
我怎么感觉你理解偏了呢,如果现在用alist最新版,你添加存储,选择Doge这个类型,然后填写多吉云那里的永久秘钥就可以直接使用了。不需要管什么临时秘钥的事儿,代码里做处理了。 |
这样就理解通透了 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cron定时任务需要在Drop函数中停止。
已添加 |
@xhofe 目前来看,应该还有问题。我在本地测试了下,打印了重置的操作,以及临时秘钥过期时间,本地有如下输出:
这里能看到 |
不知道是不是漏掉了两行代码的缘故,我现在把这里的逻辑调整了下: if d.config.Name == "Doge" {
d.cron = cron.NewCron(time.Minute * 118)
d.cron.Do(func() {
err := d.initSession()
if err != nil {
log.Errorln("Doge init session error:", err)
}
d.client = d.getClient(false)
d.linkClient = d.getClient(true)
})
} 是不是需要重新getClient一下。至少下午本地测试验证的时候,貌似没有403的问题了。我再持续跟踪一下下一波看看会不会有问题了。 另外一个问题就是目前用的sqlite包有点尴尬,我想把项目打起来,在centos运行,就有CGO依赖上的问题,导致不好在服务器运行验证,这个还挺麻烦的。如果这块儿有打算调整,可参见我之前的笔记:记录VSCode中写Go代码切换Sqlite无CGO依赖版本的过程以及遇到的五个问题,或者需要的话,我也可以提个这方面的pr。 |
…tGo#6273) * feat: add doge driver * doc: 补充readme文档 * fix: 对齐meta信息 * fix: 调整结构体名字,与driver保持一致 * perf: merge to s3 * Rename goge.go to doge.go * fix: 解决多吉云临时秘钥两个小时过期的问题 * fix: 定时任务在Drop中Stop --------- Co-authored-by: Andy Hsu <[email protected]>
…tGo#6273) * feat: add doge driver * doc: 补充readme文档 * fix: 对齐meta信息 * fix: 调整结构体名字,与driver保持一致 * perf: merge to s3 * Rename goge.go to doge.go * fix: 解决多吉云临时秘钥两个小时过期的问题 * fix: 定时任务在Drop中Stop --------- Co-authored-by: Andy Hsu <[email protected]>
如题,多吉云的临时秘钥是两个小时过期,之前对项目秘钥加载机制不是很了解,以为会自动处理。经体验之后发现不会,现在通过定时任务,定时刷新认证。