【问题标题】:Twitter authentication with Ember.js and Rails使用 Ember.js 和 Rails 进行 Twitter 身份验证
【发布时间】:2017-09-15 02:24:23
【问题描述】:

我正在使用 Torii 和 ember-simple-auth 在我的前端管理身份验证,并在我的服务器上使用 Knock 和 Omniauth-twitter。我用 Facebook 没问题,但 Twitter 用 Oauth1.0,我很难弄清楚流程。

这是我的 Torii 配置:

# 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 帐户登录。我的服务器进行身份验证/注册,但我不知道如何关闭这个新窗口并将令牌发送到我的前面。 我的流程完全错误吗?还是我错过了什么? 我关注了这个tutorial,但不知道是不是有点过时了

【问题讨论】:

  • 您可能有来源问题:您的主窗口位于 localhost:4200 上,而 twitter 位于 127.0.0.1:3000 上。
  • 其实我想通了,Torii正在打开一个新窗口,但它并没有关闭它,因为它仍在等待数据。

标签: ruby-on-rails authentication ember.js twitter oauth-1.0a


【解决方案1】:

问题是我从服务器发送了错误类型的数据。所以我更新了我的 torii-provider 和我发送的代码。 Torii 完成这项工作并在获取数据时关闭新窗口。然后,我将数据发送到我的身份验证器并使用 JWT 代码确认身份验证。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    • 2015-10-03
    相关资源
    最近更新 更多