Ошибка неверного токена при попытке установить плагин jwt в node.js - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь использовать Node JWT Authentication API для создания локального API, используя следующий git: https://github.com/cornflourblue/node-role-based-authorization-api

сервер прослушивает порт 4000, но он возвращает мне ошибку 'Invalid token'.почему это происходит?

У меня версия 1.17.5

const config = require('config.json');
const jwt = require('jsonwebtoken');

// users hardcoded for simplicity, store in a db for production applications
const users = [{ id: 1, username: 'test', password: 'test', firstName: 'Test', lastName: 'User' }];

module.exports = {
    authenticate,
    getAll
};

async function authenticate({ username, password }) {
    const user = users.find(u => u.username === username && u.password === password);
    if (user) {
        const token = jwt.sign({ sub: user.id }, config.secret);
        const { password, ...userWithoutPassword } = user;
        return {
            ...userWithoutPassword,
            token
        };
    }
}

async function getAll() {
    return users.map(u => {
        const { password, ...userWithoutPassword } = u;
        return userWithoutPassword;
    });
}

1 Ответ

0 голосов
/ 28 января 2019

Используйте Postman для отправки запроса POST (это важно. Это должен быть POST) на localhost:4000/users/authenticate.На вкладке «Body» измените «form-data» на «raw» и введите:

 {
    "username":"admin",
    "password":"admin"
}

Вы получите токен.Скопируйте это. Результат запроса POST

Откройте новую вкладку, чтобы создать новый запрос GET для localhost:4000/users/.На вкладке «Заголовки» Почтальона введите «Авторизация» в поле ключа и «Носитель [маркер, который вы скопировали]» в поле Значение.Сделайте запрос.Он должен вернуть JSON с пользователями. Результат запроса GET

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...