Android刷新令牌

时间:2015-07-10 17:14:36

标签: android authentication refresh token jwt

我正在开发Android应用,我对令牌和刷新令牌有点困惑。 基本上现在,在用户使用移动号码和SMS发送的代码登录后,认证服务器返回将用于访问所有api的访问令牌。对于身份验证服务器,我使用了Laravel和jwt-auth库。 当访问令牌过期时,我将使用存储在AccountManager中的用户凭证来询问新的令牌。 这是实现此身份验证的正确方法吗?

或者我错过了刷新令牌,当过期时我会问一个新的访问令牌?

提前致谢, 丹尼尔

1 个答案:

答案 0 :(得分:10)

我认为最好同时使用tokenrefresh token,因此当access token过期时,您无需始终发送凭据。此外,在用户设备上存储用户凭据并不安全,您应该在服务器上存储此信息,并要求用户在需要时键入。

这是我如何实现令牌/刷新令牌过程:

1:您将credentials发送到您的身份验证服务器(它会向您发送一个access token(我使用未存储在数据库中的JSON web token类型)和{{ 1}}(存储在数据库中)。

2:当您向服务器发出请求时,检查refresh token是否已过期,如果是,则向参与access token参数的身份验证服务器发出请求,以便有一个新的refresh token(取决于您的服务器的配置,它可以为您提供新的access token,或者我更喜欢的新access tokenaccess token

3:如果refresh token已过期,您向refresh token发出请求以获得一对新令牌。