是否可以从松弛令牌中获取范围列表?
Is it possible to get list of scopes from slack token?
是否可以从 Slack 的 oAuth 令牌中获取范围列表?我正在尝试根据我的用户如何使用我的 slack 集成来 add/remove 令牌范围。如果我可以从令牌中找到范围,那么我可以避免不必要地提示用户输入相同的范围。
没有。
您可以使用 auth.test
检查令牌是否仍然有效(例如,对于已撤销的令牌,您将收到 invalid_auth
)。但是,没有方法可以查询给定令牌的当前范围列表(工作区令牌除外,但我假设您要求的是普通令牌,工作区令牌仍然是测试版)。
但是您当然可以通过调用一些 API 方法来进行手动测试,以查看令牌是否具有所需的范围。 API 方法会告诉您令牌是否缺少任何范围。
注意 2020 年来到这里的任何人。虽然没有很好的记录,但您绝对可以通过使用 auth.test 和读取响应元数据。
以下是使用 node-slack-sdk 时的方法:
const slack = new SlackWebClient(token);
const slackResponse = await slack.auth.test();
console.log(slackResponse.response_metadata.scopes;
文档:
- https://github.com/slackapi/node-slack-sdk/wiki/Web-Client-features
- https://api.slack.com/legacy/oauth-scopes#working-with-scopes
祝你好运:)
是否可以从 Slack 的 oAuth 令牌中获取范围列表?我正在尝试根据我的用户如何使用我的 slack 集成来 add/remove 令牌范围。如果我可以从令牌中找到范围,那么我可以避免不必要地提示用户输入相同的范围。
没有。
您可以使用 auth.test
检查令牌是否仍然有效(例如,对于已撤销的令牌,您将收到 invalid_auth
)。但是,没有方法可以查询给定令牌的当前范围列表(工作区令牌除外,但我假设您要求的是普通令牌,工作区令牌仍然是测试版)。
但是您当然可以通过调用一些 API 方法来进行手动测试,以查看令牌是否具有所需的范围。 API 方法会告诉您令牌是否缺少任何范围。
注意 2020 年来到这里的任何人。虽然没有很好的记录,但您绝对可以通过使用 auth.test 和读取响应元数据。
以下是使用 node-slack-sdk 时的方法:
const slack = new SlackWebClient(token);
const slackResponse = await slack.auth.test();
console.log(slackResponse.response_metadata.scopes;
文档:
- https://github.com/slackapi/node-slack-sdk/wiki/Web-Client-features
- https://api.slack.com/legacy/oauth-scopes#working-with-scopes
祝你好运:)