0
私はexpressとmongoDBを使用して私の最初のアプリケーションをビルドしています。認証にいくつかの問題があります。私はMEAN Web開発ブックを使用して、私はこのチュートリアルを開始し、oauth認証を構築しようとしましたが、実際にoauthの処理を開始する前に、ローカル認証に執着してしまいました。私はいつもロードし続けているフォームを提出しようとしません。郵便配達員と私は応答を得ることができませんでした、私は多くのコードを持っていると私はどのような種類のエラーがこれを私のgitProjectを配置する原因になるかわからないので、この問題を引き起こす可能性がわからない。POSTリクエストが動作しない、ページがロードされ続ける
フォルダ構造:
のgit:私は、問題は、私はパスポートモジュールを渡す方法に頼ることができproject
感じる:
の.config/
var config = require('./config');
var express = require('express');
var passport = require('passport');
var flash = require('connect-flash');
var compress = require('compression');
var cookieParser = require('cookie-parser');
var session = require('express-session');
var bodyParser = require('body-parser');
var morgan = require('morgan');
var methodOverride = require('method-override');
var expressLayouts = require('express-ejs-layouts');
module.exports = function(){
var app = express();
require('./passport')(passport);
if(process.env.NODE_ENV === 'development')
{
app.use(morgan('dev'));
}
else if(process.env.NODE_ENV === 'production')
{
app.use(compress());
}
app.use(cookieParser());
app.use(bodyParser.urlencoded({
extended:true
}));
app.use(morgan('dev'));
app.use(bodyParser.json());
app.use(methodOverride());
app.use(session({
saveUninitialized: true,
resave: true,
secret: 'keyboard'
}));
app.use(passport.initialize());
app.use(passport.session()); // persistent login sessions
app.use(flash());
app.set('views', './app/views');
app.set('view engine','ejs');
app.use(expressLayouts);
require('../app/routes/index.server.routes.js')(app,passport);
require('../app/routes/register.server.routes.js')(app,passport);
require('../app/routes/login.server.routes.js')(app,passport);
require('../app/routes/profile.server.routes.js')(app,passport);
app.use(express.static('./public'));
return app;
}
..app /ルート/ register.server.routes.js
var register = require('../../app/controllers/register.server.controller');
module.exports = function(app,passport) {
app.route('/register')
.post(function(req,res){
passport.authenticate('local-signup', {
successRedirect : '/profile', // redirect to the secure profile section
failureRedirect : '/register', // redirect back to the signup page if there is an error
failureFlash : true // allow flash messages
})})
.get(register.getPage);
};
場合それはリロード手段thを維持する無限再帰の場合があります。あなたが失敗したときに/ registerにユーザーを戻して、再度呼び出し/登録するなどですか? –
しかし私のやり方では、それをしてはならない、私は/ registerとpostへの投稿/ registerを持っている、2番目はフォームsubmitで起動されているので、無限再帰 –
あなたは正しいです、そうでなければなりません。私はあなたがデフォルトのポストコールをしている可能性があるページの読み込みを疑った。 –