簡単な背景:
Mongo/Express/Angular/Node SPA を作成しており、パスポートを使用して、ユーザー認証/承認を処理する OAuth ログイン オプションを設定しました。
パスポートを使用すると、サーバーでセッションを正常に維持できるため、すべての XHR 要求 (必要な) はログインしているユーザーをチェックしています。
サーバーにログインすると、クライアントが認証コールバックで見つけるために、基本的なユーザーセッション情報が Cookie に入れられます。次に、angular-cookies の $CookieStore を使用して、クライアントでその Cookie にアクセスし、ルートスコープに保存して Cookie をクリアします。 .
問題:
これは、ユーザーがブラウザーを更新するイベントを除いて完全に機能しています。これにより、ルートスコープ セッションが明らかに消去されます。
そのため、セッション情報をブラウザーのローカル ストレージ (store.js を使用) に保存することを検討していました。最初の読み込みでも、ブラウザーのローカル ストレージに存在するセッションを確認し、既にセッションが存在する場合は OAuth ログインをバイパスできました。
ユーザーセッション情報をブラウザのローカルストレージに保存するのは悪い習慣ですか、それともロジスティクス/セキュリティ上の問題がありますか?
このアプリには機密データはありません。サインアップは無料で、ログインは実際にはそこにあるだけなので、ユーザーを追跡し、ユーザーごとにアプリケーションで作成されたデータを保存できます。また、ユーザー セッションにはパスワードがありません (ローカル オプションなしで OAuth ログインのみを許可します)。