2017-09-27 11 views
0

オンラインとオフラインの両方で実行されるアプリを作成しようとしていますが、自分のユーザーを認証したり、一度ログインする必要があります。だから最初のログイン後、私は再びログインフォームを見ることができないようにしたい、私は彼らにアプリの新しい部分を見せたい。彼らは、ログアウトを決定したときにのみ、ログインフォームを見るべきです。私の問題は、いつでもオンラインでもオフラインになる可能性があるので、私がこれをやるほうが簡単だったということです。一度だけログインしてから次回にログインすると、ログインフォームが表示されません。何か他のものを見るだろう。オフラインで反応するネイティブアプリを認証する方法

+0

これまでに何を試みましたか? – kalabalik

答えて

0

オフライン認証はありません。認証は、クライアントサイドを信頼することができないため、サーバー側が特定のIDによって使用されるようにします。サーバー側がない場合、認証プロセスはありません。

オンラインであってもユーザーがアプリケーションを使用できるようにするには、認証が成功した後にローカルプロファイルにローカルプロファイルを保存してください。 (もちろん重要ではないデータのみ)。 この方法では、オフライン時にアプリケーションがメモリを使用してサーバーを取得するのではなく、ユーザープロファイルをフェッチすることができます。

0

「userIsAuthenticated」-Flagをローカルストレージに保存できます(https://facebook.github.io/react-native/docs/asyncstorage.htmlを参照)。

このフラグに基づいて、ユーザーが起動時に表示する画面を決定できます。

しかし、ネットワーク接続(不良な3g/4gの原因かもしれない)が中断された場合は、いつでも再ログインすることができます。

ユーザーがオフラインで、このアプリケーションを使用するにはオンラインでなければならない場合に通知することもできます。

BTW:ユーザーにネットワーク接続があるかどうかを問い合わせるには、http://facebook.github.io/react-native/releases/0.48/docs/netinfo.html#netinfoを使用します。

AndroidManifest.xmlに許可を設定してリクエストを使用することを忘れないでください。

関連する問題