认证与配置
以下示例使用 goodvision;项目内安装后使用 npx --no-install goodvision。安装与首次配置见快速开始。
按操作合同选择身份。用户身份访问本人已授权范围;应用服务身份只能调用允许该身份的操作。
常用认证与配置命令
| 操作目标 | 对应命令 |
|---|---|
| 初始化应用配置 | goodvision config init --help |
| 查看凭据配置状态 | goodvision auth status |
| 检查凭据可读取或获取 | goodvision auth check |
| 查看应用与环境 | goodvision context |
从当前应用取得 API 地址、应用 ID 及已授权的用户 Token,将 Token 保存在自己的受控文件中;文件仅本人可读,不提交到项目。配置只保存文件引用:
goodvision config init --file ./goodvision.json \
--api-base "$GOODVISION_API_BASE" \
--docs-origin "$GOODVISION_DEVELOPER_DOCS_ORIGIN" \
--application "$GOODVISION_APPLICATION_ID" \
--environment sandbox --token-file ./current-token
goodvision context --config ./goodvision.json
goodvision auth status --config ./goodvision.json
goodvision auth check --config ./goodvision.jsonauth status 离线显示是否配置凭据,不读取 Token,也不判断有效期。auth check 只检查凭据可读取或获取,不代表任何业务权限已通过。服务端接入可改用 --issuer "$GOODVISION_IDENTITY_ISSUER" --client-id "$GOODVISION_SERVICE_CLIENT_ID" --secret-file ./client-secret --scope openplatform.api.invoke,按需提供当前合同 Scope。此身份只用于应用已开通的能力,不能代替用户授权。
同文件可配置多个 profiles,通过 --profile 显式选择。环境只使用 sandbox 或 production。相对凭据文件按配置文件目录解析;失效、错应用、撤权或依赖故障不会自动切换身份/环境,也不会读取浏览器 Cookie。终端交互式 OAuth 登录不在首期认证合同中。
授权与恢复
用户授权沿用网页授权流程。auth status 不检查 Token 有效期,auth check 不枚举实际已有权限;所需 Scope 由 schema 提供,实际权限按 API 拒绝结果处理。终端 auth login/logout 和按业务域自动申请授权尚未实现。
移除 Profile 只删除本地配置引用,不等同于登出或撤销委托。通过现有授权入口撤销,再在同一有效身份和范围恢复原任务,写入需要显式重新执行。