Я создал приложение перьев js, а затем добавил аутентификацию, используя feather generate authentication
authentication.js
const authentication = require('@feathersjs/authentication');
const jwt = require('@feathersjs/authentication-jwt');
const local = require('@feathersjs/authentication-local');
module.exports = function (app) {
const config = app.get('authentication');
// Set up authentication with the secret
app.configure(authentication(config));
app.configure(jwt());
app.configure(local());
// The `authentication` service is used to create a JWT.
// The before `create` hook registers strategies that can be used
// to create a new valid JWT (e.g. local or oauth2)
app.service('authentication').hooks({
before: {
create: [
authentication.hooks.authenticate(config.strategies)
],
remove: [
authentication.hooks.authenticate('jwt')
]
}
});
};
, затем добавил следующий код в приложение .js
const authentication = require('./authentication');
app.configure(authentication);
default.json выглядит следующим образом
"authentication": {
"secret": "****",
"strategies": [
"jwt",
"local"
],
"path": "/authentication",
"service": "users",
"jwt": {
"header": {
"typ": "access"
},
"audience": "https://yourdomain.com",
"subject": "anonymous",
"issuer": "feathers",
"algorithm": "HS256",
"expiresIn": "1d"
},
"local": {
"entity": "user",
"usernameField": "email",
"passwordField": "password"
}
}
, когда я отправляю почтовый запрос службе пользователей на localhost:3030/users
от почтальона newпользователь создан, но когда я пытаюсь отправить почтовый запрос на localhost:3030/authentication
от почтальона, используя полезную нагрузку
{"strategy":"local","email":"user","password":"pass"}
, я получаю следующий ответ
{
"name": "NotAuthenticated",
"message": "Invalid login",
"code": 401,
"className": "not-authenticated",
"data": {
"message": "Invalid login"
},
"errors": {}
}
Все выглядит нормально, но я не могу его получитьработа, я следовал этому учебнику , может кто-нибудь мне помочь? Заранее спасибо.