2017-12-21 10 views
0

私はExpress/Passportを使用しています。すべての私のファイルは、このように静的に提供されます。クライアントのログインステータスを確認するにはどうすればよいですか? [完了]

// static bundle from webpack 
app.use('/', express.static(__dirname + '/../client-react/dist')); 

私は、クライアント上だときに、私は私がログインしてるかどうかを知るための方法を持っていない。

パスポートが正常に動作していると私は、サーバー上のプロファイルデータを取得することができています。

Ajaxリクエストはここにある:

$.ajax({ 
     url: "/api/items", 
     success: (results) => { 
     console.log(results); 
     this.props.dispatch({type: 'updateBookmarks', bookmarks: results}); 
     } 
    }); 
    } 

サーバーの応答はここにある:

router.route('/items').get((req, res) => { 

    console.log(req.user); 

    DB.selectAllDomains().then((results) => { 
     res.json(results); 
    }); 
}); 
+0

だけ(https://stackoverflow.com/help/someone-answers)の代わりに、質問のタイトルに「[終了]」タグの編集[答え受け入れる]をしてください。 – Bergi

答えて

1

ユーザーがログインしている場合、クライアントは分かっていないクライアントがサーバーに要求を行う、あなたがする必要があります。パスポートが適切に統合されている場合は、あなたのサーバー上のreq.userにアクセスしてください。サーバーはreq.userのキー/値で応答できます。クライアントはログインしたユーザーに関する情報を受け取りました。

チェックこのアウトPassport.js: how to access user object after authentication?

+0

あなたのサーバはreq.userで応答する必要があります 例:res.json(req.user); fetchまたはajaxを使用して、サーバーに要求を行います。 – arrra

+0

ここにAJAXのリクエストを投稿できますか? – arrra

+0

ボディパーサーがインストールされていますか? – arrra

関連する問題