的Android刷新令牌
我开发一个Android应用程序,我有点糊涂了关于令牌和刷新令牌。 现在基本上,用户使用手机号码和短信发送代码登录后,认证服务器会返回一个访问令牌,用于访问所有apis。对于认证服务器,我使用了带有jwt-auth库的Laravel。 当访问令牌将过期时,我将使用AccountManager中存储的用户凭证询问新的访问令牌。 这是否是实现此身份验证的正确方法?的Android刷新令牌
还是我错过了刷新令牌,我问什么时候该到期了新的访问令牌?
由于提前, 丹尼尔
我觉得这是更好地使用这两种token
和refresh token
,所以你并不总是有当你access token
过期发送您的凭据。此外,将用户凭证存储在客户端设备上并不安全,您应该将这些信息存储在服务器上,并要求用户在需要时键入。
在这里,我如何实现令牌/刷新令牌过程:
1:你把你的credentials
到您的认证服务器(它会送你回一个access token
(我用的是JSON web token
型至极没有存储在数据库中)和refresh token
(存储在数据库中)
2:当你让你检查你的服务器的请求,如果access token
已过期,如果是这样,你让你的认证服务器的请求与refresh token
在参数为了有一个新的access token
(取决于配置你的服务器的离子可能还给你是否有新access token
,或者一双新access token
和refresh token
我喜欢)。
3:如果refresh token
已过期,请向您的credentials
请求一个新的令牌对。
感谢Frederic。最后我用laravel(https://github.com/tymondesigns/jwt-auth/wiki)的JWT-auth库进行此过程: 1.用户将他的凭证发送到auth服务器 2.与我创建的库的访问令牌 3.我喜欢存储在的AccountManager类的Android 4的密码,此令牌当令牌过期我要求如果新令牌的请求失败,我要求用户重新发送凭据使用它 5.一个新的。 您认为这是一个正确的过程吗? – Lic
通常,我们使用刷新令牌来限制通过电线向auth服务发送的客户端证书的使用。 “访问令牌的生存时间越短,客户端证书越需要用来获取新的访问令牌,因此攻击者必须破坏客户端证书的机会越多。因此,如果您拥有一次性刷新令牌,您可以使访问令牌的ttl任意小,而不会影响客户端凭据。“在http://stackoverflow.com/questions/3487991/why-does-oauth-v2-have-both-access-and-refresh-tokens –
您可以指向哪里,这是实现了一个教程? – suku
永远不会存储用户凭据在本地数据库。你应该使用刷新令牌。 –