現在、firebase と backbone.marionette を使用してアプリケーションを構築しており、安全なセッションを実装しようとしています。以前は、URL バーに特定のルートを入力するだけでログイン ページをバイパスすることができましたが、これを修正するために、次のように、ユーザーがログインしているかどうかを確認するための初期化子をアプリに追加しました。
@addInitializer((options) =>
# Instantiate firebase
@firebase = new Firebase("https://*******.firebaseIO.com/")
@authClient = new FirebaseAuthClient @firebase,
(error, user) =>
if (error)
console.log(error)
else if (user)
console.log('User ID: ' + user.id + ', Provider: ' + user.provider)
@logged = true
@trigger('logged_in')
@router.navigate('home', {trigger: true})
else
@logged = false
@trigger('logged_out')
@router.navigate('login', {trigger: true})
)
そして、ページをレンダリングする前に、が true かroutes.coffee
どうかを確認します。@logged
しかし、これはせいぜい大ざっぱなセキュリティだと思います。誰かがコンソールを起動して、フラグをtrue
自分自身に設定できませんでしたか?
バックボーンとファイアベースでセッションを行う適切な方法を知っている人はいますか?