讨论广场 问答详情
#跟着坚果学鸿蒙#怎么理解这个概念呢?ohpm在执行publish,unpublish和dist-tags等需要修改ohpm-repo数据库内容命令时,需要获取读写权限才能够操作?
敢为天下先! 2025-05-30 14:51:45
74 评论 分享
harmonyos

#跟着坚果学鸿蒙#怎么理解这个概念呢?ohpm在执行publish,unpublish和dist-tags等需要修改ohpm-repo数据库内容命令时,需要获取读写权限才能够操作?

74 评论 分享
写回答
全部评论(1)

#跟着坚果学鸿蒙#

ohpm-repo认证方式

ohpm在执行publish,unpublish和dist-tags等需要修改ohpm-repo数据库内容命令时,需要获取读写权限才能够操作。

从ohpm-repo5.0.5版本开始,如果ohpm-repo配置不支持匿名访问,ohpm在执行install,info和update命令时需要通过AccessToken认证或者自定义AccessToken认证方法,正确配置读写/只读AccessToken信息获取读权限。

认证方式说明

  • 证书认证:通过嵌入加密ssh证书进行身份验证,需要输入密码,获得读写权限。
  • AccessToken认证(对接数据库中用户数据):AccessToken是 ohpm-repo 2.1.0版本新引入的认证机制(需配套使用1.6.0及以上版本的ohpm命令行工具),用户通过 ohpm-repo 界面生成Token,并将其配置至ohpm客户端配置文件中。在与 ohpm-repo 交互时,客户端会自动附带Token进行身份验证,实现免密认证。配置只读AccessToken获得读权限,配置读写AccessToken获得读写权限。
  • 自定义AccessToken认证(对接自定义的用户数据):AccessToken是 ohpm-repo 2.3.0版本新引入的认证机制(需配套使用1.8.0及以上版本的ohpm命令行工具),如果开发者不想把用户的数据存储在所配置的db存储路径中,可以自定义认证插件,对接自定义的用户数据。AccessToken的有效性由自定义的用户数据认证。配置只读AccessToken获得读权限,配置读写AccessToken获得读写权限。
  • 认证失败FAQ

    使用证书认证执行publish/unpublish/dist-tags等命令失败

  • 现象:报错信息为:ERROR: Publish failed, detail: The "key_path" is empty - configure "key_path" in the .ohpmrc file.
  • 原因分析:没有正确配置证书认证参数。
  • 解决方法
    • 确保通过ssh-keygen工具生成的公私钥文件是成对的。
    • 确保在ohpm-repo私仓管理界面配置公钥信息,在ohpm的配置文件.ohpmrc配置publish_id,publish_registry和key_path等参数。
    • 使用证书认证在 git-bash 终端下执行 ohpm publish XX.har 发包到ohpm-repo中报错:The content of private key in the key_path error

    • 现象:在git-bash终端下运行 ohpm publish 命令出现 “The content of private key in the key_path error”错误,报错截图为:
    • 原因分析:使用ohpm publish命令上传包时,此时如果使用ssh证书密码认证,程序需要通过TTY流读取用户输入的密码,git安装的版本过低其携带的git-bash会导致TTY流丢失,从而出现该错误。
    • 解决方法
      • 方法一:从 git 官网下载安装最新版本 git,使用最新版本携带的 git-bash 终端进行操作。
      • 方法二:在当前 git 安装目录下的 etc 目录中新增 git-bash.config 文件,git-bash.config 文件里面添加一行MSYS=enable_pcon 配置。重新打开 git-bash 终端运行 ohpm publish 命令即可。
2025-05-30 14:52:24