问题概述
@music163/ncm-cli 0.1.6的实名账号访问令牌在24小时后失效,CLI没有使用已经保存的refresh token自动续期,而是直接把账号判定为未登录,要求用户重新扫码
这会导致基于ncm-cli的定时任务和Agent自动化每天中断一次,也可能因为频繁重新授权触发设备数量上限
环境
- Windows 11
- Node.js >= 18
@music163/ncm-cli 0.1.6
- 已配置开放平台App ID和Private Key
- 使用
ncm-cli login --background完成实名账号授权
复现步骤
- 执行
ncm-cli login --background并扫码授权
- 执行
ncm-cli login --check,返回已登录实名账号
- 登录后正常执行歌单查询和添加操作
- 等待24小时
- 再次执行
ncm-cli login --check
实际结果
- access token的到期时间与签发时间相差整整24小时
- 到期后
ncm-cli login --check直接返回未登录
- 依赖登录态的动态命令无法使用,歌单自动化任务失败
- CLI本地凭证结构中已经保存refresh token,但到期后没有发生静默续期
- 官方文档当前只要求重新执行登录,没有说明access token和refresh token的有效期及续期策略
期望结果
- access token到期前主动使用refresh token续期,或在收到401后被动刷新并重试原请求
- 只有refresh token失效或被撤销时才要求用户重新扫码
- 文档明确说明access token、refresh token的有效期和续期策略
希望官方确认
- access token固定24小时是否为开放平台的预期策略
- refresh token的有效期和正式刷新方式是什么
ncm-cli是否计划支持自动刷新和失败后重试
- 在修复前是否有官方支持的免每日扫码方案
关联问题
本Issue补充的是Windows+当前最新版0.1.6上的24小时精确复现,以及自动化任务被直接中断的影响
如有需要,可以继续提供不包含token、Private Key和其他凭证的脱敏诊断信息
问题概述
@music163/ncm-cli 0.1.6的实名账号访问令牌在24小时后失效,CLI没有使用已经保存的refresh token自动续期,而是直接把账号判定为未登录,要求用户重新扫码这会导致基于
ncm-cli的定时任务和Agent自动化每天中断一次,也可能因为频繁重新授权触发设备数量上限环境
@music163/ncm-cli 0.1.6ncm-cli login --background完成实名账号授权复现步骤
ncm-cli login --background并扫码授权ncm-cli login --check,返回已登录实名账号ncm-cli login --check实际结果
ncm-cli login --check直接返回未登录期望结果
希望官方确认
ncm-cli是否计划支持自动刷新和失败后重试关联问题
本Issue补充的是Windows+当前最新版
0.1.6上的24小时精确复现,以及自动化任务被直接中断的影响如有需要,可以继续提供不包含token、Private Key和其他凭证的脱敏诊断信息