0

我正在写一个javascriptgithub 动作。在我的内部action.yml,我有以下内容:

runs:
  using: node12
  main: ./index.js

在我的内部index.js,我正在调用一个需要密钥的 api。我想使用我自己的密钥。我不希望使用我的操作的用户定义自己的密钥。如何将我的密钥作为秘密 ort env 变量添加到文件中?

4

1 回答 1

2

秘密需要来自某个地方。即使您为外部 api 加密您的令牌并将其直接托管在操作代码中,您仍然需要一个密码来解密它,并且它需要来自您的操作用户的秘密条目,因为它需要托管在他们自己的回购或组织。

如果你想加密一个秘密的例子,但仍然需要一个密码,因此我们又回到了同一条船上。

gpg --symmetric --cipher-algo AES256 my_secret.json

这种情况不理想的原因是,据我了解,您希望为您的操作的所有用户使用一个令牌。因此,秘密需要以某种方式公开,因为多个用户需要拥有该令牌,因此您可以直接在您的操作中托管令牌,或者告诉用户通过他们的秘密设置将其提供给您作为操作变量或环境。以下是用户以两种不同方式共享令牌以执行您的操作的示例。

steps:
  - name: Hello world action
    with: # Set the secret as an input
      super_secret: ${{ secrets.SuperSecret }}
    env: # Or as an environment variable
      super_secret: ${{ secrets.SuperSecret }}
于 2020-08-26T02:44:38.080 回答