使用刷新令牌和访问令牌有什么意义?

时间:2016-01-10 19:20:11

标签: session access-token

大家好我正在创建一个Android应用程序,我希望每次登录后发送请求时都使用存储在我服务器中的会话作为身份验证用户。现在我对大多数网站都有一个疑问,我看到你应该在令牌上设置过期时间,然后在每次请求后首先发送此令牌,如果它现已过期,那么你将从应用程序发送刷新令牌,如果它是同一台服务器将再次生成新令牌。这是我已经阅读过处理移动应用程序会话的基本方法现在我想问一件事,如果有人对我的Android应用程序进行交叉设计,那么你们都不会想到如果他能得到他的话现在,我可以亲自点击我的刷新令牌,我认为在100%的情况下,如果有人偷了我的令牌,那么他/她也必须得到我的刷新令牌,所以不要你都认为这个刷新令牌的东西在安全性方面没有任何作用,只是增加了黑客获取它的时间。现在正因为如此,我认为设置过期令牌只是浪费现在,如果有人同意我,你能告诉我任何替代即将到期的令牌,如果有人不同意我,请告诉我我得到了什么这个刷新令牌的事情是错误的,我如何安全地使用会话为我的Android应用程序??

1 个答案:

答案 0 :(得分:0)

Why Does OAuth v2 Have Both Access and Refresh Tokens?类似

虽然可以使用访问令牌来访问资源,但除非您还拥有client / client_secret,否则刷新令牌是无用的。

如果您还没有使用oAuth 2.0来保护您的休息服务,那么看起来似乎没什么意义。

好的,如果这不是oAuth 2.0 - 它是一个本土的基于令牌的系统,那么只需实现相同的原则。如果是时候发布续订令牌,您的客户"应该提出特殊要求。请求是:

(a)客户独有(无法从日志中复制并重新发布或劫持)

(b)以某种方式加密/限制,使其在您的程序之外使用 是不可能的(例如,包含只有您的客户/服务器才知道的数据,更重要的是,只包含您的代码中的代码)客户可以发送)。

(c)明确绑定到原始的auth_token

这使您的大部分请求易于处理(使用标准的http标头)和续订请求"无用的"除非您的客户端中嵌入了代码。

如果您决定实施基于标准的内容,oAuth 2.0上有很多帖子(以及如何使用客户端)。