2017-04-19 81 views
0

我使用Torii和ember-simple-auth來管理我的前端的身份驗證,以及我的服務器上的Knock和Omniauth-twitter。我對Facebook沒有任何問題,但使用Oauth1.0的Twitter,我有麻煩來弄清楚流量。使用Ember.js和Rails進行Twitter身份驗證

這裏是我的牌坊配置:

# 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,但我不知道它是不是有點過時

+0

您可能有一個起源問題:您的主窗口在localhost:4200上,而twitter上的一個在127.0.0.1:3000上。 –

+0

其實我找到了一些東西,Torii打開一個新窗口,但它沒有關閉它,因爲它仍在等待數據。 –

回答

0

問題是,我從我的服務器發送錯誤類型的數據。所以我更新了我的torii提供商和我發送的代碼。 Torii完成這項工作,並在獲取數據時關閉新窗口。然後,我將數據發送給我的身份驗證器,並使用JWT代碼確認身份驗證。

相關問題