1
私はFacebookのログインを設定するためにPassport.jsを使用しているReact Routerを使用しています。私は急行路線とパスポートの設定を設定しているが、私は私のクライアント側で <a href="/api/auth/facebook">
リンクを打つたびに、それがあるため、このラインで自分の特急アプリのRRを要求する:私としてリアクションルータは、ExpressサーバへのAPIコールを傍受します。
app.get('/*', function(req, res) {
res.sendFile(path.resolve(__dirname, '../client', 'build', 'index.html'))
});
Warning: [react-router] Location "/api/auth/facebook" did not match any routes
この特定のルートでReact Routerをバイパスするにはどうすればよいですか?
私user_routes.jsファイルは次のようになります。急行路線で
'user strict';
var bodyparser = require('body-parser');
var User = require('../models/User.js');
module.exports = function loadUserRoutes(router, passport) {
router.use(bodyparser.json());
router.get('/auth/facebook', passport.authenticate('facebook', {
session: false,
successRedirect: '/chat',
failureRedirect: '/'
}));
router.get('/auth/facebook/callback', passport.authenticate('facebook', {
session: false,
successRedirect: '/chat',
failureRedirect: '/'
}));
router.post('/sign_up', passport.authenticate('local-signup', { session: false}), function(req, res) {
res.json(req.user);
});
router.post('/sign_in', passport.authenticate('local-login', { session: false}), function(req, res) {
res.json(req.user);
});
router.get('/signout', function(req, res) {
req.logout();
res.end();
});
//get auth credentials from server
router.get('/load_auth_into_state', function(req, res) {
res.json(req.user);
});
// get usernames for validating whether a username is available
router.get('/all_usernames', function(req, res) {
User.find({'local.username': { $exists: true } }, {'local.username': 1, _id:0}, function(err, data) {
if(err) {
console.log(err);
return res.status(500).json({msg: 'internal server error'});
}
res.json(data);
});
})
};
私は現在持っている: は(usersRouter、パスポート)(」./ルート/ user_routes')が必要です。app.use( '/ api'、usersRouter); –
この行を試しても、コンソールは同じエラーメッセージを返しています。 –
私が見ることができる限られた量から。 'app.use( '/ api'、usersRouter);'あなたが思っていることはやっていません。あなたのブラウザで '/ api/auth/facebook'に行くことができますか?私の疑念はルートが_実際には '/ auth/facebook'なのでキャッチオールがそれを得ているからです。 – powerc9000