3

ユーザーが ExpressJS/ PassportJSアプリにログインしているかどうかを確認するにはどうすればよいですか? PassportJS はセッションを自動的に設定すると思いますか? しかし、それはどの変数を設定しますか?

4

3 に答える 3

2

session.passport.user呼び出し時に設定され、呼び出し時req.logInに設定解除されますreq.logOut

sessionStore = new MongoStore # RedisStore or whatever

sessionStore.get data.sessionID, (err, session) ->
  if session.passport.user?
     # Logged in
于 2012-07-17T01:25:56.900 に答える
0

正しく設定されていれば、セッション作成ルートに POST した後、HTTP 応答で Set-Cookie 行を確認できるはずです (curl -v -d "username=whoever&password=supersecret" http://localhost:3000/session/newユーザー名、パスワード、および URL を適切に置換してみてください)。

ただし、質問に直接答えるには、デフォルトで と が表示されている必要がconnect.sidありremember_tokenます。このセットが表示されていなくても、認​​証戦略で有効なユーザー オブジェクトをダンプできる場合は、app.configure呼び出しに次の行があることを確認してください。

app.use(express.cookieParser());
app.use(express.session({secret: "replace"}); // lots of options here, read up
app.use(passport.session());
于 2012-06-29T21:29:08.037 に答える
0

connect.jsrequest.userでは、ミドルウェアで確認する必要があります

ユーザーがpassport.jsでログインしているかどうかを知る方法は?

于 2013-12-04T21:08:33.863 に答える