Аутентификация Twitter с помощью Ember.js и Rails

Я использую Torii и ember-simple-auth для управления аутентификацией на моей внешней стороне, а также Knock и Omniauth-twitter на своем сервере. У меня не было проблем с Facebook, но с Twitter, использующим Oauth1.0, у меня проблемы с определением потока.

Вот мой конфиг Тории:

# environment.js

ENV['torii'] = {
sessionServiceName: 'sessiontorii',
providers: {
  'facebook-oauth2': {
    apiKey: 'API_KEY',
    redirectUri: 'http://localhost:4200/'
  },
  'twitter': {
    requestTokenUri: 'http://127.0.0.1:3000/auth/twitter'
  }
}

Мой маршрут или контроллер:

# route.js

twitterLogin() {
  var self = this;
  this.get('sessiontorii').open('twitter').then(function(response) {
    console.log(response);

    self.transitionTo('index');
  }, function() {
    console.log('auth failed');
  });
},

Открывается новое окно, и я могу войти в свою учетную запись Twitter. Мой сервер выполняет аутентификацию/регистрацию, но я не могу понять, как закрыть это новое окно и отправить токен на мой фронт. Мой поток совершенно неправильный? Или я что-то упускаю? Я следовал этому руководству, но мне интересно, не немного ли устаревший


person j-printemps    schedule 19.04.2017    source источник
comment
У вас может быть проблема с происхождением: ваше главное окно находится на локальном хосте: 4200, а твиттер — на 127.0.0.1:3000.   -  person Pierre Fraisse    schedule 19.04.2017
comment
На самом деле я кое-что понял, Тории открывает новое окно, но не закрывает его, потому что все еще ждет данных.   -  person j-printemps    schedule 20.04.2017


Ответы (1)


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

person j-printemps    schedule 20.04.2017