【问题标题】:Developing with everyauth locally在本地使用everyauth 进行开发
【发布时间】:2012-01-13 22:10:40
【问题描述】:

我希望 Node everyauth 模块在本地与 Twitter 一起工作(比如说)。 (我已经让它在网上工作,但不是在本地。)在this tutorial 之后(见 5:00 左右)我修改了/etc/hosts 并添加了行

127.0.0.1 http://myExampleWebsite.com

我也加了一行

127.0.0.1 localhost 本地主机

official readme file 中所建议的那样。然而,

local.host:3000/auth/twitter

几秒钟后出错

错误:twitter 模块的步骤 getRequestToken 超时。

有什么想法我可能做错了吗?

【问题讨论】:

  • 这听起来不像是主机/回调问题。 getRequestToken() 是对 Twitter 的 OAuth API 的初始调用,它发生在用户通过 Twitter 进行身份验证之前以及在他们被重定向回您的应用程序之前(此时您的主机文件和回调 URL 变得相关)。我会检查你的配置,确保你有正确的 oauth 密钥等。我还会检查你的节点版本(在线和你的开发机器上),因为我认为everyauth 有一些兼容性问题。

标签: everyauth


【解决方案1】:

我也在为同样的事情苦苦挣扎。这有点棘手,并且共识似乎是您应该设置两个 Twitter 应用程序(一个供本地使用,一个供公共使用),或者只是准备在您的节点应用程序上线时更改您的 Twitter 应用程序的“回调 URL”。

就我而言,我不需要修改我的 hosts 文件,而是将我的 Twitter 应用程序中的“回调 URL”更改为以下内容:

http://127.0.0.1:3000/auth/twitter/callback

如果您使用默认的everyauth 回调配置,它会自动设置为接受/auth/twitter/callback 的回调。无论您的 hosts 文件中有什么内容,它都应该解析为 127.0.0.1,因此您在本地工作时始终可以安全地使用该 URL 配置。

编辑:

您可能还想尝试的另一件事是替换此调用

local.host:3000/auth/twitter 

有了这个

127.0.0.1:3000/auth/twitter

我只是建议这样做,因为如果您错误地修改了主机文件中的某些内容,那也可能导致冲突。如果您只是在主机文件中添加行,而不是修改已经存在的内容,您也可以尝试替换它

127.0.0.1 localhost local.host

有了这个

127.0.0.1 local.host

..因为第一个在我看来格式不正确(两个别名而不是一个)。

【讨论】:

    【解决方案2】:

    127.0.0.1 http://myExampleWebsite.com

    应该是

    127.0.0.1 myExampleWebsite.com

    【讨论】:

    • 不,这并没有解决问题。不过感谢您的建议。
    • 所以在改变之后,你是否在尝试:myExampleWebsite.com:3000/auth/twitter
    • 不,我正在尝试local.host:3000/auth/twitter
    • 好的,您的主机可能需要匹配您的 twitter 应用程序设置的任何域,或者您需要将 local.host 添加到您的 @Anywhere 域
    猜你喜欢
    • 2017-07-06
    • 2019-07-31
    • 2011-02-07
    • 2019-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 2012-01-14
    相关资源
    最近更新 更多