yortusのasync/await node.jsライブラリを使用して、パスワードがハッシュされたPassportベースのログイン/サインアップシステムをbcrypt-nodejsで設定しています。Passportとasync-await Node.jsライブラリで動作するようにbcryptを設定する
システムの残りの部分は、セットアップ、適切に機能している間、私はbcryptのハッシュ関数のシグネチャは、2つのコールバックを必要とし、それがasync/await
でそれを使用する方法は明らかではないのでyortus' async/await
とうまく動作するようにbcrypt-nodejs
を得るトラブルを抱えています。 ..
hash(data, salt, progress, cb)
data - [REQUIRED] - the data to be encrypted.
salt - [REQUIRED] - the salt to be used to hash the password.
progress - a callback to be called during the hash calculation to signify progress
callback - [REQUIRED] - a callback to be fired once the data has been encrypted.
error - First parameter to the callback detailing any errors.
result - Second parameter to the callback providing the encrypted form.
async/await
コール...
let generateHash = async((password) => {
let salt = await(bcrypt.genSaltAsync(10)) // this works
let result = await(bcrypt.hash(password, salt, null)
return result // returns NULL
})
出力:
Unhandled rejection No callback function was given.
データベース項目(MongoDBの)私はシステムを使用してサインアップしようとすると:
{
"_id" : ObjectId("581bf7031386f167a09851b9"),
"username" : "vjk2005",
"password" : ""
}
ユーザー名が通過しますが、パスワードがNULL
です。私は、成功せずに多くの順列と組み合わせを試してきましたが、どんな助けもありがたいです。
を。私は最後の手段としてハーモニーとバベルを予約します。 – vjk2005