Node.js Loopback Framework + Twitter oauth 在实时服务器上不起作用



我正在使用带有node-twitter库的loopback第三方登录护照进行API调用。

我已经创建了

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

这是Neccessary的Node-Twitter工作,我为Twitter帐户手动指定了所有这些凭据,因为我无法从我的帐户识别模型中获取令牌和令牌。

我已经有一个"添加Twitter帐户"按钮,该按钮将用户重定向到Twitter授权页面并实现Oauth,然后将用户重定向到页面(在本地计算机上),但是在实时服务器上,它将其重定向到/auth/twitter然后什么都没有。

我将诸如朋友/ID,用户/查找,account/verify_credentials之类的Twitter API调用,它们在我的本地计算机上可以正常工作。我希望他们也可以在实时服务器上工作,但没有。

  1. 在apps.twitter.com上,我的回调URL设置为http://dev.mysite.com/auth/twitter/callback
  2. 提供者.json

    { " Twitter-login":{ "提供者":" Twitter", " authscheme":" oauth", "模块":" Passport-Twitter", " callbackurl":" dev.mysite.com/auth/twitter/callback", " authpath":" dev.mysite.com/auth/twitter", " callbackpath":" dev.mysite.com/auth/twitter/callback", " Scuccessredirect":" Dev.mysite.com", " failureredirect":" dev.mysite.com/login", "消费者":"我的钥匙在这里指定", " commuterSecret":"我的密钥在这里指定", "失败Flash":是的}}

(我尝试将其"按原样"保留,这意味着删除dev.mysite.com,我也尝试添加http://url之前添加http://)

  1. NPM软件包都是服务器上最新的

我的问题是如何使其至少在1(我的)帐户中

〜3天后解决了问题:我应该关注细节

环回添加"/api/" 在所有API调用中。否则,它将路径视为路线。

提供者.json

{ " Twitter-login":{ "提供者":" Twitter", " authscheme":" oauth", "模块":" Passport-Twitter", " callbackurl":"/api/auth/twitter/callback", " authpath":"/api/auth/twitter", " callbackpath":"/api/auth/twitter/callback", "连续的":"/", " failureredirect":"/登录", "消费者":"键", " commuterSecret":"键", "失败Flash":是的}}

在客户端,我必须在每个API调用URL中添加"/api/" ,例如

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>

最新更新