Loopback3: сбросить пароль - как проверить, не истек ли токен - PullRequest
0 голосов
/ 23 февраля 2020

Так что я немного запутался, как закончить поток пароля для сброса

  1. Я создал форму для запроса пароля для сброса, где пользователь вводит свою электронную почту (сообщение users / reset) )
  2. У меня есть resetPasswordRequest , который отправляет электронное письмо пользователю со ссылкой для сброса ( mydomain / users / reset /: access_token )
  3. Я создал форму с полем нового пароля (паролей), которое затем вызывает конечную конечную точку (post u sers / reset-password ).

Теперь проблема заключается в том, когда пользователь приходит в форму под номером 3. Я хотел бы проверить, является ли маркер доступа, переданный в URL, действительным, прежде чем даже отображать форму ... так что, если он уже был "погашен" или это ttl-d ... сообщите пользователю запросить еще один ... прежде чем тратить время на ввод нового пароля

, как бы я это сделал?

1 Ответ

0 голосов
/ 12 марта 2020

Просто сделайте вызов API, когда вы находитесь в форме 3, где вам нужно проверить токен. Ниже приведен код для проверки токена:

  User.validateAccessToken = function (options, callback) {
    return (options.accessToken != null)
      ? callback(null, { id: options.accessToken.id })
      : callback(getErrorMessage('AUTHORIZATION_REQUIRED'));
  };

  User.remoteMethod('validateAccessToken', {
    http: {
      verb: 'get',
      path: '/validateAccessToken'
    },
    accepts: [{ arg: 'options', type: 'object', http: 'optionsFromRequest' }],
    returns: {
      arg: 'result',
      type: 'object'
    }
  });
...