【问题标题】:Can I use a more restrictive key with Jekyll Algolia?我可以在 Jekyll Algolia 中使用更严格的密钥吗?
【发布时间】:2019-10-05 20:36:11
【问题描述】:

我正在使用 Algolia 搜索构建我的 Jekyll 网站。

The documentation about jekyll-algolia 说必须在环境变量ALGOLIA_API_KEY 中提供管理员密钥。

不过,another page 关于 API 密钥安全的说法是

您的管理 API 密钥是最最敏感ive 密钥:它提供对所有索引和数据的完全控制。管理 API 密钥应始终保持安全。 Do NOT 将其发布给任何人或 do NOT 在任何应用程序中使用它,并且始终创建一个更具限制性的新密钥。此 API 密钥几乎应该专门用于生成其他更有限的 API 密钥,然后这些 API 密钥将用于搜索和执行索引操作。

阅读第二页,我正在尝试在我的 Jekyll 网站的 CI 构建中创建一个更严格的密钥,以便与 jekyll-algolia 一起使用:

但是我仍然收到来自bundle exec jekyll algolia的投诉:

ibug@ubuntu:~/iBug.github.io$ ALGOLIA_API_KEY="0123456789abcdef0123456789abcdef" bundle exec jekyll algolia
Configuration file: /home/wsl/iBug.github.io/_config.yml
Processing site...
         AutoPages: Disabled/Not configured in site.config.

        Pagination: Complete, processed 1 pagination page(s)
       Jekyll Feed: Generating feed for posts
   GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data.
Extracting records...
Updating records in index iBug_website...
Records to delete: 428
Records to add:    420
 [✗ Error] Invalid credentials

 The jekyll-algolia plugin could not connect to your application ID using the
 API key your provided.

 Make sure your API key has access to your 14DZKASAEJ application.

 You can find your API key in your Algolia dashboard here:
    https://www.algolia.com/licensing

ibug@ubuntu:~/iBug.github.io$ echo $?
1

我该怎么做?还是必须在 CI 环境中提供管理员密钥?

【问题讨论】:

    标签: jekyll algolia api-key


    【解决方案1】:

    允许使用 jekyll-algolia 进行索引所需的最小 API 密钥 ACL 是 deleteIndexaddObjectdeleteObject 和 'editSettings`。

    如果其中一个 ACL 未设置,您会收到如下错误:

    [jekyll-algolia] 错误:
    403:无法放入 https://APP_ID.algolia.net/1/indexes/your_folder/settings:
    {"message":"不允许使用此 API 密钥的方法","status":403} (403)

    在您的情况下,错误消息表明您的应用程序 ID 未与您提供的 API_KEY 连接。

    在您的 Algolia 仪表板中检查您的应用程序 ID,并确认您的 _config.yml 中有正确的 algolia.application_id 条目。

    如果您提供正确的 application_id 和她的一个 API 密钥,它必须工作,否则这是一个 Algolia 问题。

    【讨论】:

    • 我已经添加了所有 ACL 并且 bundle exec jekyll algolia 仍然在抱怨,这可以在我的问题中看到。
    • 对不起,这个星期天早上的回答 ;-)。我已经编辑了我的答案。
    猜你喜欢
    • 2011-02-17
    • 1970-01-01
    • 2015-10-08
    • 2020-02-21
    • 2016-05-01
    • 2016-04-11
    • 1970-01-01
    • 2020-07-04
    • 1970-01-01
    相关资源
    最近更新 更多