You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Slack API auth.test验证用户OAuth令牌失败的原因及解决方法

问题分析与解决方案

核心原因

你遇到的问题本质是Sign in with Slack(OpenID Connect)流程生成的用户令牌,与传统用户OAuth流程生成的xoxp令牌权限范围不同。虽然auth.test文档标注支持用户令牌,但Sign in with Slack的令牌默认仅授权OpenID相关操作(如openid.connect.userInfo),不具备调用常规Web API方法(如auth.test)的权限——哪怕该方法标注“无需用户权限”,也需要令牌具备基础的身份API访问权限。

解决办法

1. 补充identity.basic权限

这是最直接的解决方案:

  • 登录Slack开发者后台,进入你的应用的OAuth & Permissions页面;
  • 在User Token Scopes中添加identity.basic权限;
  • 让用户重新完成授权流程(权限变更后旧令牌会失效,需生成新的用户令牌);
  • 用新生成的令牌调用auth.test即可正常验证。

2. 改用适配OpenID流程的验证方法

如果不想调整权限,可以使用users.identity方法替代auth.test:

  • 该方法专门用于验证Sign in with Slack生成的用户令牌,返回用户的身份信息;
  • 虽然速率限制略低于auth.test,但完全适配OpenID授权流程的令牌,无需额外权限。

3. 切换到传统用户OAuth流程

若必须使用auth.test且不想添加权限,可以放弃Sign in with Slack流程,改用传统的用户OAuth授权流程:

  • 该流程生成的xoxp令牌默认具备调用auth.test的权限;
  • 缺点是无法使用OpenID相关的端点(如openid.connect.userInfo),需根据你的业务需求权衡。

内容的提问来源于stack exchange,提问作者Jonathan Cowling

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 03:16:21