discordapp.com/api/users/@me/guilds有时会回复401 UNAUTHORIZED

时间:2018-01-21 19:38:58

标签: discord

在我的应用程序中,用户通过OAuth使用Discord登录,并将其令牌,到期时间戳和刷新令牌保存到会话中。发出的每个令牌都有效期为7天。然而,少数用户(可能是2-5%)遇到了一个问题,我所拥有的令牌不被Discord API接受,我看到以下错误:

GET https://discordapp.com/api/users/@me/guilds` resulted in a `401 UNAUTHORIZED` response:
{
  "code": 0,
  "message": "401: Unauthorized"
}

View docs for this endpoint in Discord's API

我的第一个假设是他们的令牌已过期,因此要确认我已将过期时间添加到我的应用程序日志中,并确认令牌在discord_token_expires_in 2018-01-28 05:12:37左右不会过期。

95%的用户没有遇到问题,我相信这不是令牌发送方式的问题,因为这样每个人都会失败。所以我不确定下一步该看什么。

1 个答案:

答案 0 :(得分:0)

在到期时间戳之前,承载令牌变为无效的原因有多种,包括:

  1. 通过刷新来替换新的承载令牌
  2. 授予新的持有人令牌
  3. 您或用户撤消令牌
  4. UI example

    可能还有其他原因,但无论如何,您应该预期某些承载令牌无效,并且您将尝试刷新令牌和/或请求新的用户同意。