安卓刷新 token

标签 android authentication refresh token jwt

我正在开发一个 Android 应用程序,我对 token 和刷新 token 有点困惑。 基本上现在,在用户使用手机号码和短信发送的代码登录后,身份验证服务器会返回一个访问 token ,该 token 将用于访问所有 api。对于身份验证服务器,我使用了 Laravel 和 jwt-auth 库。 当访问 token 过期时,我将使用存储在 AccountManager 中的用户凭证请求一个新的访问 token 。 这是实现此身份验证的正确方法吗?

或者我丢失了刷新 token ,当它过期时我要求一个新的访问 token ?

提前致谢, 丹妮尔

最佳答案

我认为同时使用 tokenrefresh token 会更好,这样你就不必总是在你的 access token 已过期。此外,将用户凭据存储在客户端设备上并不安全,您应该将此信息存储在您的服务器上,并要求用户在需要时输入。

这里是我如何实现 token /刷新 token 过程:

1:您将您的凭据发送到您的身份验证服务器(它会发回您一个access token(我使用JSON web token不存储在数据库中的类型)和一个刷新 token (存储在数据库中)。

2:当您向您的服务器发出请求时,您检查访问 token 是否过期,如果是,您使用刷新 token <向您的身份验证服务器发出请求 在参数中以获得新的 access token (取决于您服务器的配置,它可以返回给您一个新的 access token ,还是一对新的我更喜欢 access tokenrefresh token

3:如果刷新 token 已过期,您可以使用您的凭据请求获得一对新 token 。

关于安卓刷新 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31346644/

相关文章:

android - 在 adMob 中仅显示文字广告

authentication - 安装后如何启动 db2

javascript - 刷新多个 iframe

refresh - 专业提示和技巧

android - 我可以以某种方式在 getMapAsync 调用期间发生错误吗?

android - asmack 中的 ReconnectionManager

android - 服务没有按应有的方式唤醒设备

java - 登录 局域网内计算机的用户名 java

authentication - react 路由器 : Handling role authentication

swift - UIProgressView 和定期刷新(在 Swift 中)