如何将 api 令牌与用户帐户相关联

时间:2021-07-15 13:54:31

标签: rest security authorization

因此,我创建了一个由 JWT 保护的小笔记应用程序(用户登录,接收一个令牌,然后用于在对 api 的每个请求时对用户进行身份验证)

为了允许访问外部应用程序,我尝试了 API 令牌的概念,例如 gitlab 是如何做到的。

如果您有 gitlab 帐户,则可以生成一个秘密令牌。有了这个令牌,外部应用程序现在可以在 gitlab api 上执行操作。

我认为到目前为止我已经理解了基本概念

我实现了允许用户生成令牌的功能。为该令牌生成哈希并存储在数据库中。然后(未散列的)令牌返回给用户。

现在是让我头疼的部分:

由于令牌不包含任何帐户信息(它只是一个随机字符串),检查 api-token 的端点如何将该令牌与帐户相关联?

当然,我可以简单地遍历每个帐户的所有存储的 api 令牌并进行第一个匹配(请记住,我对令牌进行了哈希处理,这意味着我无法进行简单的查找)。但我不会对这种方法感到很舒服。

我想到的第二个想法是使用 jwt 作为包含用户信息的 api 令牌。 imo,令牌有点太长了,我不确定这是否会为该用例公开太多信息,从而导致安全问题。

我觉得我在这里遗漏了一个细节,希望有人能引导我走向正确的方向。

0 个答案:

没有答案