API отдыха с узлом Xero - PullRequest
0 голосов
/ 30 марта 2019

Я успешно использовал пакет xero-node npm в приложении Node / Express с полным стеком.

Процесс:

  1. Подключение к xero api для получения токена запроса и создания URL-адреса аутентификации:

    req.session.oauthRequestToken = token;
    
  2. Клиент перенаправляется на Xero login.

  3. При отправке xero-login пользователь перенаправляется на обратный вызов, указанный в остальных API, то есть http: localhost: 8080 / callback.
  4. Функция '/ callback' получает oauthRequestToken и сравнивает его с новым req.query.oauth_token, поступающим от клиента:

    if (req.query.oauth_verifier && req.query.oauth_token === req.session.oauthRequestToken
    
  5. Если они соответствуют требованию.session.oauthRequestToken устанавливается в качестве нового токена.

Используется для экспресс-сеанса с сохранением сеанса в MongoDB с Passport в качестве помощника.

Now I 'Я разделил мое приложение на интерфейс и приложение для остальных API.Я перестал использовать Passport и теперь просто использую JWT для аутентификации.поэтому я больше не использую сеансы или состояния.

Какая альтернатива использованию req.session в этом случае?Насколько я понимаю, мне не следует использовать его, так как остальные API не имеют состояния, но я могу ошибаться?

Я думал о передаче oauthRequestToken с каждым http-запросом, как я делаю с токеном JWT, но это невозможноЭкран аутентификации Xero так как у меня нет контроля.Может быть, я могу использовать что-то вроде http-перехватчика, чтобы добавить заголовок из формы Xero?

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