2017-09-07 19 views
1

本当にわかりません。なぜ、認証を構築し、Node.jsとのセッションで永続するのがなぜ複雑なのですか?Next.JS、Express、Passportを使用したユーザー認証の簡単な例

セッションの持続性に問題があります。これはhereと記載されています。ブラウザはUIからPOST方法でfetchを作るとき

たぶん、私は何かが、SPAで、だから... ...

を理解していない、パスポートを認証し、DBにセッションを保存します(私はセットアップをしたとして) 。

次は何ですか?

どのように伝える?フロントエンド(ブラウザ、サーバーなど)に反応すると、新しく作成されたCookieが適用され、HMR、GraphQLなどの後続のすべてのリクエストに使用されるはずです。私は、サーバーへのすべての後続の要求が古いクッキーを参照する(認証の成功の上に1を作成していない)と、正しいものは見上げたことはありませんことをされてい何

...

いくつかの説明は非常に理解されるであろう。

ありがとうございます。

PS:最新のNext.js、Express、Passportで認証の簡単な例を探しています。私はこの問題に一週間でこだわっています...

答えて

0

あなたは情報を返すつもりであるExpressのエンドポイントに要求をすることができます。これはAxiosを使用して応答を設定することができます私の場合は

document.cookie = `id_token=${token}; expires=Thu, 18 Dec 2020 12:00:00 UTC` 

私はJWTを使用しているため、私は、トークンを設定し、クッキーが設定されている場合、あなたはcookie-parserを使用して、サーバー側でそれを要求することができ、そう、あなたが検証しようとしているとき:このような何かを持つクッキーユーザーがログに記録されている場合は、Cookieがサーバー(Next.js)に存在するかどうかをチェックしてテンプレートをレンダリングします。そうでない場合は、他のビューにリダイレクトできます。

server.get('/profile', (req, res) => { 
    const actualPage = '/profile'; 
    const logged = req.cookies['id_token'] 
    if (logged) { 
    return app.render(req, res, actualPage) 
    } 
    return res.redirect('/') 
}) 

あなたは完全な例を見たい場合は、このrepo

をチェック
関連する問題