2016-10-20 9 views
1

私はAngular2 & Auth0を使用してユーザーを認証しています。 現在、彼らの「ベストプラクティス」によれば、ユーザープロファイルはlocalStorageに保存され、情報を取得する必要がある場合は、そこから取得します。 これは私にとっては悪い習慣のようですが、ローカルクエリ(名前、写真など)のプロファイルにログインしておく方が良いでしょうか?おそらくAngular2サービスを使用していますか?Angular2で認証されたユーザープロファイルを維持するための最良の方法

答えて

1

問題は、サーバーへの要求をせずに、後で使用するためにユーザープロファイルを保持したい(ユーザーがウィンドウを閉じて後で再度開く場合)。次に、どこかに格納する必要があります。ブラウザで

そして貯蔵施設は非常に限られている:IndexedDBクエリ機能、インデックスなど、プレーンテキストとして、限られた量のデータのための簡単なキー=>値の保存、あるいはcookieためlocalStorageとデータベース・ストレージのために。

しかし、後で使用するためにデータを必要としない場合は、データをメモリ(サービスなど)に保存することができます。

サービス内でメモリとオフラインストレージの両方を組み合わせることもできます。

+0

FBを使用してユーザーをログに記録し、トップバーにプロファイルのイメージと名前を表示しています。このような場合、ユーザーがウィンドウを閉じて自分のウェブサイトで再び開いた場合、イメージと名前を持っていたいと思います。 – Yuvals

+0

これらの情報だけを保持している場合は、localStorageに保存しておくこともできます(機密情報は保持しないでください)。格納された複数のドキュメントにクエリを作成するなど、より集中的なデータ処理が必要な場合は、IndexedDBを使用してください。 – n00dl3

+0

この情報がどれくらいの期間続くことができるか(FBでのようにしたい場合はクッキーを使用する方がいいですか、ユーザーが接続を切断していない間はログインします)。 – Yuvals

0

両方の方法を組み合わせることができます。 localstorageに保存して、いつでもリクエストなしでその情報を入手し、Serviceをラップしてどこからでもストレージにアクセスできないようにします。

関連する問題