0

我正在使用Loopback第三方登錄Passport和Node-Twitter庫進行api調用。Node.js Loopback Framework + Twitter oauth無法在實時服務器上工作

我創建

var client = new Twitter({ 
    consumer_key: '', 
    consumer_secret: '', 
    access_token_key: '', 
    access_token_secret: '' 
}); 

這是neccessary節點,Twitter的工作,我指定所有手動這些證書對我的Twitter帳戶,因爲我不能夠從我的accountIdentity模型獲得令牌和tokenSecret 。

我有一個'添加Twitter帳戶'按鈕,將用戶重定向到Twitter授權頁面並實現oauth,然後將用戶重定向到本地計算機上的頁面,但重定向到/ auth /微博,然後什麼都沒有

我使Twitter的API調用像朋友/ ids,用戶/查找,帳戶/ verify_credentials,他們在我的本地機器上正常工作。我希望他們也能在現場服務器上工作,但他們沒有。

  1. 在apps.twitter.com我的回調URL設置爲http://dev.mysite.com/auth/twitter/callback
  2. providers.json

    { 「的Twitter登錄」:{ 「提供者」: 「推特」, 「authScheme」:「oauth」, 「module」:「passport-twitter」, 「callbackURL」:「dev.mysite.com/auth/twitter/callback」, 「authPath」:「dev.mysite.com/auth/twitter「, 」callbackPath「: 「dev.mysite.com/auth/twitter/callback」, 「successRedirect」:「dev.mysite.com」, 「failureRedirect」:「dev.mysite.com/login」, 「consumerKey」:「我的密鑰在此指定」, 「consumerSecret」: 「我的鑰匙在這裏指定」, 「failureFlash」:真 }}

(我想離開它 「爲是」,這意味着除去dev.mysite .com,並且我也嘗試在url前添加http://)

  1. npm包在服務器上都是最新的

我的問題是如何使至少1(我的)賬戶工作現在

回答

0

〜後3天解決了這個問題:我應該注意的細節

迴環增加「/ api /」在所有API調用的全局配置中。否則,它將路徑視爲路由。

提供者。JSON

{ 「推登錄」:{ 「提供者」: 「推」, 「authScheme」: 「的OAuth」, 「模塊」: 「護照Twitter的」, 「callbackURL」: 「/ api/auth/twitter/callback」, 「successRedirect」:「/」, 「authPath」:「/ api/auth/twitter」, 「callbackPath」:「/ api/auth/ 「failureRedirect」: 「/登錄」, 「consumerKey」: 「鑰匙」, 「consumerSecret」: 「鑰匙」, 「failureFlash」:真 }}

,同時在客戶端我不得不添加「/ API /」到每個API調用URL例如

function fetchFollowers() { 
    const URL = "/api/fetchfollowers"; 
    return fetch(URL, {method: "GET" 
}) 
    .then(response=> Promise.all([response, response.json()])); 
} 

<a href="/api/auth/twitter">Add Twitter Account</a> 

,而不是

<a href="/auth/twitter">Add Twitter Account</a> 
相關問題