Satis http basic auth - pass credentials

Satis http basic auth - pass credentials

我已经设置了 satis private composer 数据包管理器。 Satis 运行ning on "packages.asc.company",我通过 apache2 http 基本身份验证保护站点,可以通过输入 http 基本身份验证凭据在浏览器中打开它。

现在我的问题是:当 运行ing 例如"composer update"?

目前我在 apache .htpasswd 文件中只注册了一个密码用户,需要将其凭据传递到某个地方才能从 composer 连接到 satis。

有两种情况需要连接:

1) 来自开发过程中的项目

2) 在持续集成过程中来自 jenkins。


3) Edit: SSL

我现在正在尝试使用 openssl 来保护登录时的凭据。在我的 linux 上,apache 运行s,我创建了一个私钥和一个 .crt 文件(请参阅: Apache SSL。在我的 linux 上,我现在可以使用 https 打开 satis 包页面,我什至将 http 重定向到 https,一切正常(我使用我自己的证书生​​成 openssl 因为它是一个内部应用程序而且我不需要受信任的 ca)。

现在,当我从我的 Linux 虚拟机(这里我正在编码)切换到我的 Windows 并尝试 运行 作曲家更新时,我收到以下错误消息: (主机文件配置正确)

[Composer\Downloader\TransportException] 无法下载“https://packages.asc.company/packages.json”文件:SSL 操作失败,代码为 1。OpenSSL 错误消息: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate 验证失败 无法启用加密 无法打开流:操作失败

我错过了什么?我是 ssl 的新手,但现在一整天都在阅读有关它的信息,但无法让它工作。

来自getcomposer satis site,我有这个信息但不知道如何使用它。

{
 "repositories": [
    {
        "type": "composer",
        "url": "https://example.org",
        "options": {
            "ssl": {
                "local_cert": "/home/composer/.ssl/composer.pem"
            }
        }
    }
 ]
}

此致。

There is a documentation page for this.

Composer 会将用户名添加到 Satis URL。对我有用,我只是想绕过本地网络中无用的默认密码服务器。有个只读账号,我用了

另外:公司中的每个开发人员在存储库服务器上都有一个帐户,即使更加安全地保护下载的 ZIP 文件也没有多大用处。 Composer 本身目前不支持任何代码签名方法或哈希比较,因此无法知道包是否在存储位置或传输过程中被篡改。

根据文档,不在 URL 中提供凭据将使 Composer 要求提供凭据,或者您可以将它们添加到 auth.json。另一方面:将明文密码保存在专用文件中听起来不是最好的主意,不使用 HTTPS 传输密码更糟糕。

您必须定义您想要的安全类型。您要防范的目标或威胁场景是什么?