2016-07-26 12 views
0

したがって、試験を管理するプラットフォームを作成しました。試験はmongodbに保存され、RESTを介してアクセス可能です。ビューはそのサーバーでは実装されていませんが、別のserver.jsで実行されます。MEAN/NodeJSアプリケーションを表示なしで保護する

私のクライアント:

var express = require('express'); 
var app = express(); 

app.use(express.static(__dirname + '/public')); 

app.listen('7777'); 

と私のサーバー:

var express = require('express'); 
var path = require('path'); 
var logger = require('morgan'); 
var cookieParser = require('cookie-parser'); 
var bodyParser = require('body-parser'); 
var cors = require('cors'); 

var klausuren = require('./routes/klausuren'); 
var users = require('./routes/users'); 

var app = express(); 

var mongoose = require('mongoose'); 

mongoose.connect('mongodb://localhost/notenplattform'); 
var db = mongoose.connection; 

db.on('error', function callback(){ 
    console.log("Fehler bei Verbindung zu MongoDB!"); 
}); 

db.once('open', function callback(){ 
    console.log("Verbindung zu MongoDB Erfoglreich!"); 
}); 

app.use(cors()); 
app.use(logger('dev')); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use(cookieParser()); 
app.use(express.static(path.join(__dirname, 'public'))); 

app.use('/klausuren', klausuren); 
app.use('/users', users); 

// catch 404 and forward to error handler 
app.use(function(req, res, next) { 
    var err = new Error('Not Found'); 
    err.status = 404; 
    next(err); 
}); 

// error handlers 

// development error handler 
// will print stacktrace 
if (app.get('env') === 'development') { 
    app.use(function(err, req, res, next) { 
    res.status(err.status || 500); 
    res.render('error', { 
     message: err.message, 
     error: err 
    }); 
    }); 
} 

// production error handler 
// no stacktraces leaked to user 
app.use(function(err, req, res, next) { 
    res.status(err.status || 500); 
    res.render('error', { 
    message: err.message, 
    error: {} 
    }); 
}); 


module.exports = app; 

私の質問は:どのように私は、クライアントとサーバーを確保することができますか?私がオンラインで見つけたすべてのソリューションは、ノードJSの基本設定を必要とします。そこでは、ビューはサーバー自身がクライアントスクリプトではなくサーバー自身によって提供されます。

私は実際にパスポートやその他のソリューションとGoogleの過度の使用を介してこれを実装する方法を知っていないいずれかのヘルプ。初心者の質問に申し訳ありません!前もって感謝します!

+0

https://auth0.com/を使用できます。 – Jay

答えて

2

JWT(json Webトークン)を使用するだけで、このツールを使用すると、セッションで気にせずにユーザーが認証されたときにトークンを生成できます。

  1. ユーザーは、ユーザーのトークンを生成し、データベース
  2. からユーザー名/パスワードの確認ログインしたユーザは、あなたがプライベートになりたいすべてのリクエストでこのトークンを送信し
  3. 彼にそれを送信しようとするとあなたが有効なものかどうかを確認してください。

さらに詳しい情報が必要な場合は、Authenticate a Node.js API with JSON Web Tokensをご覧ください。シンプルながら役立つチュートリアルがあります。

関連する問題