14

簡単な背景:

Mongo/Express/Angular/Node SPA を作成しており、パスポートを使用して、ユーザー認証/承認を処理する OAuth ログイン オプションを設定しました。

パスポートを使用すると、サーバーでセッションを正常に維持できるため、すべての XHR 要求 (必要な) はログインしているユーザーをチェックしています。

サーバーにログインすると、クライアントが認証コールバックで見つけるために、基本的なユーザーセッション情報が Cookie に入れられます。次に、angular-cookies の $CookieStore を使用して、クライアントでその Cookie にアクセスし、ルートスコープに保存して Cookie をクリアします。 .

問題:

これは、ユーザーがブラウザーを更新するイベントを除いて完全に機能しています。これにより、ルートスコープ セッションが明らかに消去されます。

そのため、セッション情報をブラウザーのローカル ストレージ (store.js を使用) に保存することを検討していました。最初の読み込みでも、ブラウザーのローカル ストレージに存在するセッションを確認し、既にセッションが存在する場合は OAuth ログインをバイパスできました。

ユーザーセッション情報をブラウザのローカルストレージに保存するのは悪い習慣ですか、それともロジスティクス/セキュリティ上の問題がありますか?

このアプリには機密データはありません。サインアップは無料で、ログインは実際にはそこにあるだけなので、ユーザーを追跡し、ユーザーごとにアプリケーションで作成されたデータを保存できます。また、ユーザー セッションにはパスワードがありません (ローカル オプションなしで OAuth ログインのみを許可します)。

4

1 に答える 1