Folo CLI 如何配置登录认证并验证身份
Folo CLI 如何配置登录认证并验证身份【免费下载链接】follow Folo is the AI RSS Reader项目地址: https://gitcode.com/GitHub_Trending/fol/followFolo CLInpm 包名folocli是 FoloAI RSS Reader提供的终端客户端几乎所有需要访问 Folo 数据的命令时间线、订阅、收藏等都要求先完成一次认证。这篇文章覆盖首次使用 CLI 时最关键的准备动作完成登录、确认身份、处理认证失败让你能继续执行后续命令。执行方式统一为npx --yes foloclilatest ...不要求全局安装。前置条件已安装 Node.js 18 及以上版本并可用npx执行 CLIapps/cli/skill.md 要求 Node.js 与 npm 已安装apps/cli/package.json 中engines声明为node: 18。拥有 Folo 账号。--token方式还需要能拿到 Folo 提供的 token命令帮助原文Session or one-time token from Folo。浏览器登录方式依赖可打开的浏览器macOS 使用open、Windows 使用cmd /c start、Linux 使用xdg-open见 apps/cli/src/browser-login.ts。自动打开失败时 CLI 会给出可手动打开的登录 URL。三种认证配置方式方式一浏览器登录推荐npx --yes foloclilatest loginCLI 会自动打开浏览器并等待登录确认。参数说明--timeout seconds等待浏览器登录的超时时间默认 180 秒。执行期间终端会输出状态行本地启动一个回调服务监听127.0.0.1随机端口的/callback路径打印Open this URL to sign in: loginUrl并自动打开浏览器输出Browser opened. Waiting for login confirmation...在浏览器中完成 Folo 登录后登录页通过回调把一次性 token 送回本地服务。浏览器页面显示Folo CLI login complete提示可关闭窗口返回终端表示流程成功若回调 URL 中缺少 token页面显示Folo CLI login failed需要回到终端重试。登录成功后 CLI 会向 Folo 校验 token并将token和apiUrl写入~/.folo/config.json配置读写逻辑见 apps/cli/src/config.ts输出示例来自 apps/cli/src/commands/auth.ts{ ok: true, data: { message: Login successful., configPath: ~/.folo/config.json, user: {} }, error: null }方式二使用 token 登录在无法弹出浏览器的环境如服务器、CI中可以把 Folo 提供的 token 直接传给 CLInpx --yes foloclilatest login --token tokentoken替换为你从 Folo 拿到的 session token 或一次性 tokenone-time token。提供 token 时不会启动浏览器CLI 先调用/better-auth/one-time-token/apply把它换取会话 token若该接口返回 404则回退到/better-auth/one-time-token/verify两者都失败时还会探测该 token 本身是否已是有效会话 token见 apps/cli/src/browser-login.ts。校验通过后同样写入~/.folo/config.json。方式三设置FOLO_TOKEN环境变量按 apps/cli/skill.md 的说法也可以直接设置环境变量FOLO_TOKENtokentoken同样替换为你的 Folo token。token 的解析优先级在 apps/cli/src/client.ts 中实现命令行--token参数 FOLO_TOKEN环境变量 配置文件中的 token。因此环境变量和--token参数都可以覆盖已存储的 token适合脚本里临时切换账号而不动~/.folo/config.json。相关全局参数--api-url urlAPI 基地址默认https://api.folo.isapps/cli/src/client.ts。使用非默认 endpoint 时登录时传该参数会把它一并写入配置文件后续命令按此调用。auth子命令与顶层命令等价auth login、auth logout、auth whoami与login、logout、whoami一一对应apps/cli/src/commands/auth.ts任取其一即可。验证身份登录完成后用whoami确认 CLI 当前会话对应的用户npx --yes foloclilatest whoamiwhoami会调用 Folo 的会话接口返回user、session、role、roleEndAt、feedSubscriptionLimit、rsshubSubscriptionLimit字段字段列表见 apps/cli/src/commands/auth.ts。JSON 输出中ok: true且带出用户数据说明 token 有效命令默认输出 JSON也可用-f/--format切换为table或plain。whoami是判断“认证是否真正生效”的直接手段没有可用 token 时它会直接报UNAUTHORIZEDMissing token.token 无效或过期时报Token is invalid or expired.。登出npx --yes foloclilatest logout登出只清除本地配置文件里存储的 token不影响服务端账号输出中的message为Logged out.。认证相关的错误与处理JSON 输出中ok: false时error.code与error.message用于定位问题常见错误码及处理对照 apps/cli/skill.md 的 Error Recovery 与源码中的错误定义错误码含义处理UNAUTHORIZED未登录、token 缺失或已过期重新执行login浏览器方式或login --token token或设置FOLO_TOKENTIMEOUT等待浏览器登录超时重新执行login网络慢可用--timeout加大等待秒数BROWSER_OPEN_FAILED自动打开浏览器失败错误信息中带有可手动打开的登录 URL手动在浏览器中打开该 URL 完成登录终端保持等待即可HTTP_4xx/HTTP_5xx服务端返回非 2xx加--verbose查看请求详情使用非默认 endpoint 时确认--api-url是否正确限制说明CLI 在保存 token 前总会向 Folo 校验一次会话只有接口返回user和session数据时登录才算成功并写入配置apps/cli/src/commands/auth.ts。token 过期后所有需要认证的命令都会以UNAUTHORIZED失败解决办法是重新登录登录成功后若whoami仍失败检查是否误用了--api-url导致 CLI 指向了错误的 API 端点。【免费下载链接】follow Folo is the AI RSS Reader项目地址: https://gitcode.com/GitHub_Trending/fol/follow创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考