gpt4 book ai didi

api - 如何安全地让我的用户使用刷新 token 登录?

转载 作者:行者123 更新时间:2023-12-04 00:56:03 26 4
gpt4 key购买 nike

来自 https://stackoverflow.com/a/7209263/1225328 :

The idea of refresh tokens is that if an access token is compromised, because it is short-lived, the attacker has a limited window in which to abuse it.



我明白了,但是如果攻击者访问刷新 token ,他们将能够获得新的身份验证 token ,我错了吗?这似乎只是推迟了长期存在的 token 安全漏洞......

关于这一点,你会在同一个答案中找到:

Refresh tokens, if compromised, are useless because the attacker requires the client id and secret in addition to the refresh token in order to gain an access token.



那么使用刷新 token 和简单地辞职有什么区别呢?如果您不想让用户再次输入它们,您如何存储客户端 ID 和密码?

@FStephenQ指出,刷新 token 只能使用一次:然后攻击者将能够获得新的身份验证 token ,但只能使用一次,而且是短暂的。但是,一旦你已经使用了一个新的刷新 token ,你如何获得一个新的刷新 token ?如果您在使用 token 时获得了一个新 token ,那么攻击者也将能够刷新他们的 token ......

实际问题是:如何让我的用户保持登录状态?在我使用的应用程序上,一旦我登录,我就不必再次登录:它们如何进行?

最佳答案

刷新 token 只能用于刷新一次,并且只有在客户端的访问 token 过期时才会发送到身份验证服务器。使用刷新 token 时,身份验证服务器会返回一个新的身份验证 token ,并且可以选择返回一个新的刷新 token 。这个想法是允许使用短期访问 token ,同时允许有效客户端重新进行身份验证,而不会强制用户再次登录。

如果刷新 token 被盗,则攻击者可以使用它一次以获取有效的访问 token 。当客户端尝试刷新他们的 token 时,他们的刷新 token 将是陈旧的,因此将被拒绝。然后他们会要求用户重新登录,认证服务器会给他们一个新的访问 token 和刷新 token ,被盗的 token 将失效。

关于api - 如何安全地让我的用户使用刷新 token 登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32903312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com