我正在创建一个新的Slack应用程序,该应用程序基本上接受斜杠命令。它已经在工作,但是我想使用API密钥保护我的API。已经配置了API密钥+使用计划,但不确定如何在松弛侧使用它。
我基本上需要发送一个setHasFixedSize(false)
头,但是从Slack方面看来这是不可能的?
根据您的命令,拥有仅依赖于松弛验证令牌的开放API似乎很有风险...
有没有办法做到这一点?仅使用令牌和团队ID进行验证。
答案 0 :(得分:1)
按照您的建议,无法向来自x-api-key
之类的Slack的请求中添加自定义标头。
保护API的标准方法是使用“签名机密”,而不是验证令牌。验证令牌是一种较旧的安全功能,仍然可以使用,但安全性较低,因此不再推荐。
签名的机密将使用标准的HMAC-SHA256键控哈希使用生成的密钥对Slack的每个请求进行密码签名。您可以在应用程序配置页面上找到该密钥。
请查看此documentation,以获取有关如何使用签名机密的更多详细信息。
答案 1 :(得分:0)
API网关允许您配置Velocity模板以重新映射HTTP请求。您可以将API密钥配置为查询参数,作为在Slack应用程序配置中指定的Webhook的一部分(只要使用HTTPS即可确保安全),然后将其定向到不需要密钥的端点。然后将查询参数重新映射到x-api-key
标头,并转发到已认证的端点。