如果bot_access_token在应用程序安装过程中由于意外错误丢失,如何恢复?
How to recover if bot_access_token gets lost during app installation due to an unexpected error?
我正在我的服务器上集成 slack,以便处理 OAuth 2.0 install flow 我的 Slack 应用程序以及它附带的机器人功能。
除了一件事,我什么都清楚。文档说明了以下关于 验证 / 授权 代码的内容,这些代码是为了换取我通过重定向收到的 code
link 我提供了:
Authorization codes may only be exchanged once and expire 10 minutes after issuance.
如果我理解正确,这意味着如果我的服务器错过了这个授权码,或者根本没有设法在我的数据库中存储 access_token
或 bot
凭据,用户基本上收到一个半死不活的应用程序。那是对的吗?
用户仍然可以运行斜杠命令,例如/help
但我的机器人无法工作,因为我丢失了 bot_user_id
和 bot_access_token
。
所以问题是这是否准确,如果不准确,我如何才能恢复这些凭据,或者我真的只有一次机会吗?
是的,如果您的应用程序在安装过程中因某种原因无法接收或存储令牌,它将被安装(例如,斜杠命令将起作用,您将收到事件),但您将丢失令牌以调用任何API 个工作区的方法。
要从这种情况中恢复,您应该在您的网页上告诉用户,他点击了 "Add To Slack" 按钮,安装失败,他应该重试(例如再次点击 "Add To Slack" 按钮).您通常会在网页上向用户显示安装过程的结果,其中可能还包括标准 "errors",例如当用户在 Slack 端取消该过程时。
此外,您可能希望为每个斜杠命令显示用户错误。如果您的斜杠命令尝试执行 API 调用,您通常会拥有它,但是对于所有没有执行的调用(例如帮助或版本子命令)也包含一个错误可能是有意义的。
我正在我的服务器上集成 slack,以便处理 OAuth 2.0 install flow 我的 Slack 应用程序以及它附带的机器人功能。
除了一件事,我什么都清楚。文档说明了以下关于 验证 / 授权 代码的内容,这些代码是为了换取我通过重定向收到的 code
link 我提供了:
Authorization codes may only be exchanged once and expire 10 minutes after issuance.
如果我理解正确,这意味着如果我的服务器错过了这个授权码,或者根本没有设法在我的数据库中存储 access_token
或 bot
凭据,用户基本上收到一个半死不活的应用程序。那是对的吗?
用户仍然可以运行斜杠命令,例如/help
但我的机器人无法工作,因为我丢失了 bot_user_id
和 bot_access_token
。
所以问题是这是否准确,如果不准确,我如何才能恢复这些凭据,或者我真的只有一次机会吗?
是的,如果您的应用程序在安装过程中因某种原因无法接收或存储令牌,它将被安装(例如,斜杠命令将起作用,您将收到事件),但您将丢失令牌以调用任何API 个工作区的方法。
要从这种情况中恢复,您应该在您的网页上告诉用户,他点击了 "Add To Slack" 按钮,安装失败,他应该重试(例如再次点击 "Add To Slack" 按钮).您通常会在网页上向用户显示安装过程的结果,其中可能还包括标准 "errors",例如当用户在 Slack 端取消该过程时。
此外,您可能希望为每个斜杠命令显示用户错误。如果您的斜杠命令尝试执行 API 调用,您通常会拥有它,但是对于所有没有执行的调用(例如帮助或版本子命令)也包含一个错误可能是有意义的。