繁体   English   中英

Node.js环回框架+ Twitter oauth在实时服务器上不起作用

[英]Node.js Loopback Framework + Twitter oauth doesn't work on a live server

我正在使用带有Node-Twitter库的Loopback第三方登录护照进行api调用。

我已经建立

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

这是节点提交器正常工作所必需的,我为Twitter帐户手动指定了所有这些凭据,因为我无法从我的accountIdentity模型中获取token和tokenSecret。

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

我进行了Twitter api调用,例如朋友/ id,用户/查找,帐户/ verify_credentials,它们在我的本地计算机上工作正常。 我希望他们也可以在实时服务器上工作,但事实并非如此。

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

    {“ twitter-login”:{“ provider”:“ 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“:true}}

(我尝试将其保留为“原样”,这意味着删除dev.mysite.com,并且我还尝试在网址前添加http://)

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

我的问题是现在如何使它至少对1个(我的)帐户有效

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

环回将“ / api /”添加到所有API调用的全局配置中。 否则,它将路径视为路线。

provider.json

{“ twitter-login”:{“ provider”:“ twitter”,“ authScheme”:“ oauth”,“ module”:“ passport-twitter”,“ callbackURL”:“ / api / auth / twitter / callback”,“ authPath”:“ / api / auth / twitter”,“ callbackPath”:“ / api / auth / twitter / callback”,“ successRedirect”:“ /”,“ failureRedirect”:“ / login”,“ consumerKey”:“ key ”,“ consumerSecret”:“密钥”,“ failureFlash”:true}}

而在客户端,例如,我必须在每个API调用网址中添加“ / 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM