LDAP-auth
に使用されているpassport.js
実装があります。とpassport.authenticate
を呼び出す前に、サーバー側のサービスでPassportJS - 要求パラメータとしてpassport.authenticateに渡される前にペイロードデータを取得する
Client-side angular-js controller
$scope.authenticate = function() {
var auth = new login();
auth.username = $scope.username;
auth.password = CryptoJS.AES.encrypt($scope.password); //// HERE
auth.$save(function (response){
console.log(response);
},function(err){
console.log(err);
});
}
Server-side service
.....
.....
app.post('/login', passport.authenticate('ldapauth'), (req, res) => {
console.log("req.user: ",req.user);
req.session.username = req.user[ldap.username];
req.session.userModel = req.user;
res.status(200).send({"success": 'success'});
});
.....
を:今、次のステップは、次のようにCrypto-js
を使用して、クライアント側でパスワードを暗号化することです'req'を要求すると、暗号化されたパスワードを解読する必要があります。ここにどのように実装できますか? (質問は暗号化に関するものではなく、要求としてpassport.authenticateに渡される前にデータを取得する方法)
私はあなたがここで何をしようとしているのかよく分かりませんが、SHA1は暗号化ではなくハッシュ関数です。それは '解読'することはできません。 – estus
サーバクライアント間の通信を暗号化するのにHTTPS(SSL)を使用しないのはなぜですか? –
@estus - 考えられるのは、あらゆる種類のブルートフォース攻撃を遅くすることで、コンピュータからパスワードを隠しておくことです。ネットワークはhttpsを通じて暗号化されているので、気にする必要はありません。私はちょうどクライアント側の肉眼からパスワードを遠ざけたいと思っています。 –