Guardianを使用して認証を処理するWebアプリケーションのログインシステムを開発しています。Guardianを使用してPhoenixの機能を記憶させる
defp login(conn, user) do
conn
|> Guardian.Plug.sign_in(user)
end
をこのように、トークンは30日間有効で、ブラウザを閉じてもそこに留まる(期待される動作:私は私のガーディアンの設定ユーザーのトークンを呼び出すことにより、クッキーに保存されている
ttl: {30, :days}
で クッキーの場合)。 ただし、ユーザーはログイン中に覚えているかどうかを選択できる必要があります。 ブラウザウィンドウを閉じるときに、トークンをクッキーから削除する必要があります。 私は
ttl: {0, :days}
を設定しようとしたのだが、必要な行動を達成するようです。それは言った:
- ttl:{0、:days}は、ブラウザウィンドウが閉じられるまで、ユーザーを認証する適切な方法ですか?もしそうなら、Guardian.Plug.sign_in(conn、user)が呼び出される前にパイプラインのttl値をプログラムで変更する方法はありますか?
- Guardianは、ユーザーの選択に基づいてトークンをクッキーまたはセッション記憶域に格納できますか?選択したクッキーは私にとって覚えていますが、そうでない場合はセッションストレージです)