FeatherJS - Получить информацию о пользователе с крючком? - PullRequest
0 голосов
/ 09 января 2019

Итак, я опробовал FeatherJS, и я смог зарегистрировать нового пользователя, запросить токен, а также запросить защищенные данные (используя Авторизацию в заголовке).

Очень важно: я использую только HTTP Rest API. Документы, кажется, часто указывают на модуль перьев клиента, который я не использую.

Так что в настоящее время у меня супер простая настройка, у меня есть служба сообщений с текстом. Один перед хуком, чтобы обработать сообщение. Здесь я хочу получить информацию о пользователе:

module.exports = function (options = {}) {
  return async context => {

    const text = context.data.text
    const user = context.params.user;

    context.data = {

      text,
      userId: user._id

    }
    return context;
  };
};

это не работает. В моем MDB я только вернусь:

{
    "_id": "5c35ce18523501803f6a8d8d",
    "text": "123",
    "createdAt": "2019-01-09T10:34:00.774Z",
    "updatedAt": "2019-01-09T10:34:00.774Z",
    "__v": 0
}

Я пытался добавить токен, который я всегда отправляю, когда отправляю сообщение через Авторизацию, например:

module.exports = function (options = {}) { вернуть асинхронный контекст => {

    const text = context.data.text
    const user = context.params.user;
    const token = context.params.accessToken


    context.data = {

      text,
      userId: user._id,
      tokId: token

    }
    return context;
  };
};

но мне кажется, что я всегда получаю один и тот же результат, как показано выше.

Есть идеи, как я могу получить информацию о текущем пользователе, используя accessToken?

Никогда ранее не использовал FeathersJS, поэтому просто пытаюсь понять экосистему и узнать, как подойти к этому в FeathersJS.

Любой совет приветствуется! Спасибо всем заранее!

1 Ответ

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

Не совсем уверен, что именно пошло не так, но я получил это сейчас, просто создав новый проект.

Теперь я действительно воссоздал этот проект раньше и получил проблему, как указано выше, но на этот раз она как-то сработала.

Для тех, кто хочет знать, какие шаги я предпринял, чтобы «исправить»:

1.Создайте новую папку 2. приложение для создания перьев 3. перья генерируют аутентификацию 4. сервис создания перьев (название для сервиса: сообщения) 5. перья генерируют хук (имя: процесс-msg, перед хуком, модель: сообщения) 6. Добавьте это в ловушку process-msg:

module.exports = function (options = {}) {
  return async context => {


    const user = context.params.user;
    const text = context.data.text;

    context.data = {

      userId: user.email,
      text,
      dateTime: new Date().getTime()
    }
    return context;
  };
};

Используйте почтальона, зарегистрируйте новую учетную запись, затем авторизуйтесь, чтобы получить токен. Сохраните токен и добавьте его в качестве заголовка авторизации внутри Почтальона. Затем вы должны также получить обратно электронное письмо от зарегистрированного пользователя просто из-за токена, который был добавлен в заголовок авторизации.

Привет!

...