Slack API 文档中似乎存在不一致之处,因为 OAuth 流程要求提供 client_secret 作为 OAuth token 代码交换的一部分,如 https://api.slack.com/methods/oauth.access 中所述。
但是,客户端 key 需要嵌入到移动应用程序中,这违背了 Slack https://api.slack.com/docs/oauth-safety 的建议。其中指出:
应谨慎对待您的客户 secret 。这是您在与 Slack 交换 token 时安全地识别应用程序的权利和身份的方式。请勿在电子邮件、分布式 native 应用程序、客户端 JavaScript 或公共(public)代码存储库中分发客户端 secret 。
在如何管理这种差异方面,是否有任何最佳实践可用,其中客户端 key 似乎需要进行身份验证,但同时不应嵌入到移动应用程序中?
最佳答案
Slack 仅支持 Authorisation Code适用于 OAuth2.0 的流程,但它不支持 public
客户端,仅支持 confidential
客户端。它不支持PKCE flow要么。
他们的FAQ page如果您正在开发移动应用程序,建议使用 RTM API:
关于oauth-2.0 - 移动应用程序中 OAuth 的 Slack 客户端 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49771921/