2017-09-27 72 views
0

我正在尝试制作一个在线和离线运行的应用程序,但我希望我的用户能够进行身份验证或登录一次。所以在初次登录后,我希望他们不能再次看到登录表单,我想向他们展示应用程序的新部分。他们应该仅在他们决定注销时才能看到登录表单。我的问题是,如果他们总是在线,我可以更容易地做到这一点,但他们也可能会脱机,所以我只需要他们登录一次,下次他们启动应用程序时,他们不会再看到登录表单,而他们会看到别的东西。如何离线验证反应原生应用程序

+0

你到目前为止尝试过什么? – kalabalik

回答

0

没有脱机验证。进行身份验证,以便服务器端确保它由给定的身份使用,因为您永远不会信任客户端。如果没有服务器端,则不存在认证过程。

如果您只是想让用户使用您的应用程序,即使他在线,为什么您没有在成功验证后在本地存储器中存储用户配置文件的本地副本? (当然只有非关键数据)。 这样,您的应用程序可以依靠其内存来获取用户配置文件,而不是在脱机状态下访问服务器。

0

您可以将一种“userIsAuthenticated”-Flag保存到本地存储(请参阅https://facebook.github.io/react-native/docs/asyncstorage.html)。

基于此标志,您可以决定用户在启动时看到的屏幕。

但是请注意,如果网络连接(可能是坏的3g/4g的原因)被中断,它可能会使用户疯狂,如果他们有重新登录的全部内容。

如果用户不在线,您还会通知他们必须联机才能使用此应用程序。

顺便说一句:要请求用户是否有网络连接,您可以使用:http://facebook.github.io/react-native/releases/0.48/docs/netinfo.html#netinfo

不要忘记在AndroidManifest.xml中设置允许使用该请求的权限。

相关问题