私はMEANにウェブサイトを構築しています。認証とユーザーデータの記憶には、ノードのバックエンドでreq.sessionを使用します。 私は、ユーザーがログインしているときにデータを保存し始め、特定の呼び出しに再使用します。問題は、フロントエンドからの呼び出しをAngularで呼び出すと、req.session.userデータが定義されていないことです。それは正しく初期化されています。req.session.user AngularJSで定義されていません
しかし、私は同じコードを使用して、郵便番号で通話を行うとうまくいきます。
これは、呼び出しのために私のコードです:
$http.defaults.headers.common['Authorization'] = 'Bearer ' + auth.getToken();
console.log($http.defaults.headers.common.Authorization);
if($scope.production = true) {
$http.post('http://url:3000/newproductie', {
title: $scope.title,
year: $scope.year
}, {withCredentials: true}).success(function(data) {
$location.path('/success')
});
}
そして、これはバックエンドのコードです:
フロントからのコールを行うときreq.session.userが定義されていないif (req.session.user.isadmin) {
// my code
} else {
return res.status(401).json({
message: 'Niet bevoegd'
});
}
-end、しかし郵便配達員を通して記入してください。 私は問題が私のPostメソッド内にあると想像しています。
ルーティングコード:
var auth = jwt({
secret: 'SECRET',
userProperty: 'payload'
});
var producties = require('./producties.js');
router.post('/newproductie', auth, producties.newProductie);
はEDIT:多分これは助けることができる、私は(私はしばらくのためのプロジェクトを起工)この作業を持っていたが、何とかそれは動作を停止し、私が把握することはできませんなぜ
編集2:これもこれを解決する可能性があります。私はconsole.log(req.sessionID)を実行し、これは新しいsessionIDを出力します。私はバックエンドへの呼び出しを毎回行います。なぜ私は理解できません。ポストマンでは、これはうまく
ルーティングコードを共有できますか? –
ルーティングコードを追加しました –