web-dev-qa-db-ja.com

passportjsとreactjsを一緒に使用するにはどうすればよいですか?

3つのビューがあります(ホーム、サインアップ、ログイン).

Ejsやjadeで行うように、セッションとユーザーデータを管理するにはどうすればよいですか?

15
Jose Osorio

あなたはコードを置くミドルウェア関数を作成する必要があります

function ensureAuthenticated(req, res, next){
  if(req.isAuthenticated()) { 
    return next() 
  } else {
    res.redirect('/')
  }
}

そしてルーターで使用する

app.get('/account', ensureAuthenticated, function(req, res){
  // here return some data
})

Reactから、おそらくフェッチ要求を行う必要があります

fetch('https://your_url/account', {
  credentials: 'include'  
})

このようなものは、サーバーに、またはsocket.ioまたはwebsocketsを使用してajaxリクエストを行う必要があります

1
Neo

Node.jsでpassport.jsを使用でき、jsonwebtokenを使用することもできます。個人的には、コード化が非常に簡単で非常に安全で、reactまたはその他のフロントエンドフレームワークを使用してフロントエンドを簡単に使用できます。最高のものはbackend:-> node.js + passport.js + jsonwebtoken frontend:-> react /他のフレームワーク+ reduxそれは本当に素晴らしい作品です。

0

パスポートは必要ですが、ユーザー認証を備えたバックエンド環境で必要です。 node.js + express.js + passport + someDBで何か。

おそらくあなたが求めているものより少し多いですが、これらの組み込みモジュールに付属している feathersjs を使用できます。

FeathersCli を使用すると、(インストール後)を実行することで、JWTokenでユーザー/パス認証をすぐに取得できます:feathers generate app、次にfeathers generate authentication

0
JoaquinLarra