Первый вход в систему не требуется при использовании meteor restivus
Я использую Meteor Restivus для создания API отдыха. У меня проблема в том, что API не заставляет меня входить в систему, чтобы делать сообщения, и получает мой код следующим образом:
Articles = new Mongo.Collection('articles');
if (Meteor.isServer) {
// Global API configuration
var Api = new Restivus({
useDefaultAuth: true,
authRequired: true,
prettyJson: true,
version:'v1'
});
Api.addCollection(Articles);
}
Я сделал POST, используя:
curl -X POST http://localhost:3000/api/v1/articles/ -d "title = Witty Title" -d "author = Джек Роуз"
и я сделал, используя
curl -X GET http://localhost:3000/api/v1/articles/
но я не получаю сообщение об ошибке, заставляющее меня сначала войти в систему, прежде чем я смогу выполнить вышеуказанные процедуры POST и GET. Мое метеорное приложение использует пакеты с учетной записью-паролем и пользовательской учетной записью. Что я должен сделать, чтобы API заставил меня войти в систему, прежде чем я смогу выполнить POST или GET.
1 ответ
Мне удалось это исправить. authRequired должен был быть включен в addCollection в соответствии с кодом ниже:
Articles = new Mongo.Collection('articles');
if (Meteor.isServer) {
// Global API configuration
var Api = new Restivus({
useDefaultAuth: true,
//authRequired: true,
prettyJson: true,
version:'v1'
});
Api.addCollection(Articles,{
routeOptions: {
authRequired: true
}
});
}
Я был немного идиотом, как это в документах. Не очень понятно, но в документах тем не менее. Надеюсь, что это помогает кому-то еще, хотя!
Просто добавить:
После входа в систему сделать GET в соответствии с документами
curl H "X-Auth-Token: etttttttt-BM2DyXsTe-Gybtttttttttttttttt3Reo" -H "X-User-Id: pwfy4viiiiiiiyz3Kp" http://localhost:3000/api/v1/articles/ article /
и сделать POST, как это:
curl -X POST -H "X-Auth-Token: etttttttt-BM2DyXsTe-Gybtttttttttttttttt3Reo" -H "X-User-Id: pwfy4viiiiiiiyz3Kp" http://localhost:3000/api/v1/articles/ article / -d "title=Wit Название " -d "author= Джек Роуз "