React Native 中带有访问/刷新令牌的身份验证流程

时间:2021-01-19 19:57:06

标签: react-native authentication jwt

我有一个 React Native IOS 应用,用户可以在其中注册/登录。登录后,他们可以访问应用的受保护部分。

我使用的是短期访问令牌(15 分钟)和长期刷新令牌。

注册时,我生成了一个刷新令牌和第一个访问令牌。刷新令牌存储在 IOS 的钥匙串中,访问令牌存储在应用程序本身中。对我的服务器的每个 API 请求都有一个带有访问令牌的授权标头。当访问令牌过期时,服务器响应 HTTP 401,应用程序将刷新令牌发送到服务器以生成新的访问令牌。如果可行,则会使用新的访问令牌再次发出先前的请求。

访问令牌的生命周期最长为 15 分钟。当用户关闭应用程序时,当前的访问令牌将被删除。这意味着每次用户打开应用时,都必须向服务器发出新请求以获取新的访问令牌。

这就是我的身份验证流程。

问题在于每次用户打开应用时对新访问令牌的初始请求。这需要几秒钟,在那段(短)时间内,我会显示一个加载指示器。但我想绕过这个。当您打开 facebook 或 instagram 等应用程序时,您看不到任何加载指示器或任何内容。您“立即”通过了身份验证,可以立即使用该应用。

此类应用如何处理其身份验证流程?我的身份验证流程中是否有任何可以改进的地方?

0 个答案:

没有答案