私はnodejs rest apiを使用しており、認証にはパスポート基本戦略を使用しています。nodejs authenticate not working
私は認証で要求を送信すると、サーバーがで応答:
不明な認証戦略 "の基本的な" これは私のBasicStrategyです:
passport.use(new BasicStrategy(function (userName, password, callback) {
User.findOne({username: userName}, function (err, user) {
if (err) return callback(err);
if (!user) return callback(null, false);
user.checkPassword(password, function (err, isMatch) {
if (err)return callback(err);
if (!isMatch) return callback(null, false);
return callback(null, user);
})
})
}));
これは私のルータです。
router.get("/", passport.authenticate('basic', { session: false }), function (req, res) {
bookModel.find(function (err, books) {
if (!err) {
return res.json(books);
} else {
res.statusCode = 500;
log.error("Internal error (%d): %s", res.statusCode, err.message)
return res.json({error: "Server error"});
}
});
});
私のクライアントのJava okhttpに:
private static void getBooks() throws IOException
{
Request request;
Response response;
String credentials = Credentials.basic("Axror", "topsecret");
System.out.println(credentials);
request = new Request.Builder()
.url("http://localhost:1337/api/book/")
.header("Authorization", credentials)
.build();
response = client.newCall(request).execute();
System.out.println(response.body().string());
}
いいえ、私はapp.jsのパスポートを初期化しています。 –