Каков рекомендуемый метод обработки аутентификации пользователя и создания токена с помощью Node / Graphql? Я вижу много руководств, в которых конечная точка REST используется для авторизации пользователя и генерации токена.
Хотя я новичок в сцене GraphQL, я не понимаю, почему бы вам не использовать GraphQL для этого.
Например, почему бы не иметь такой запрос, который отправляется преобразователю, который проверяет пользователя / проход и генерирует токен? :
mutation {
loginUser (
username: "YOURUSERNAME",
password:"YOURPASSWORD"
)
{
token
}
}
Есть ли какая-то конкретная причина, по которой учебники, которые я прошел, не сделали этого таким образом? Есть ли какой-то недостаток в этом методе, о котором я не знаю?





Официальные документы немного объясняют рассуждения: https://graphql.org/graphql-js/authentication-and-express-middleware/
Немного читая между строк, кажется, что нет никаких официальных рекомендаций, чтобы нет делал это, но существующие инструменты ожидают, что будут использоваться заголовки и классические конечные точки, поэтому это подходит лучше.
Если вы начнете говорить о OAUTH, вам в любом случае придется реализовать классические URL-адреса, чтобы завершить этот танец.
Спасибо за этот URL Джефф. Я кое-что прояснил :)
Вот несколько идей, почему auth еще не пользуется популярностью в Роаноке. Это работает, если вы просто используете токен в ответе, но есть сценарии, в которых аутентификация может выходить за рамки спецификации graphql. Пример настройки файлов cookie. Кроме того, обычно у вас есть устаревшие системы аутентификации, которые ваше приложение может использовать напрямую. Например, вход через Google с потоком на стороне клиента.