流星帐户-推特无法正常工作

Meteor accounts-twitter unable to get working

我一直在尝试 Meteor。我想使用 OAuth 对我网站上的用户进行身份验证,因为我不想自己实现登录功能。

目前我的网站非常简单。一个计数器,您在其中单击一个按钮,计数器会增加一个。当用户转到另一台机器并登录他们的计数时的想法是持久的。

我已按照 meteor.com/accounts 上的步骤操作。

  1. meteor add accounts-twittermeteor add accounts-ui
  2. 已将 {{> loginButtons}} 添加到 HTML。
  3. 在 Cloud9 终端中 meteor --port $IP:$PORT
  4. 已按照 apps.twitter.com
  5. 上的屏幕说明进行操作
  6. 设置网站abc-matthewcanty.c9.io/
  7. 设置回调 URL http://0.0.0.0:8080/_oauth/twitter - 这是我被告知要做的。
  8. 已复制到 API KeyAPI Secret
  9. 选择基于弹出窗口的身份验证并按下保存

现在,当我单击 使用 Twitter 登录 时,我会弹出一个窗口,上面写着:

This webpage is not available

ERR_ADDRESS_INVALID

弹窗地址如下:

0.0.0.0:8080/_oauth/twitter/?requestTokenAndRedirect=true&state=eyJsb2dpblN......

注意 使用 abc-matthewcanty.c9.io/ 作为回调 URL 没有区别。

这是因为我正在使用 Cloud9 IDE 并且我还需要做一些修改吗?

Meteor 文档没有提供进一步的步骤。可能假设 OAuth 知识是先决条件,但没有这样声明。

编辑

我访问了下面@tomas-hromnik 建议的网站:

http://www.servicepro.wiki/wiki/1171/cloud9-twitter-account-integration-for-sign-up

并更新了 apps.twitter.com 中的应用程序设置:

当我点击按钮时,我不知道如何阻止它进入 http://0.0.0.0:8080/etc

我认为地址 0.0.0.0:8080 不正确。 Meteor默认运行在3000端口,他的地址是localhost,所以回调URL应该是http://127.0.0.1:3000/_oauth/twitter?close

阅读本教程中有关使用 Meteor 登录 Twitter 的更多信息:http://meteor.hromnik.com/blog/login-with-facebook-twitter-and-google-in-meteor

编辑:对于生产用途,请使用您的生产 URL:

http://abc.matthewcanty.c9.io/_oauth/twitter?close

以下是在 Cloud9 上创建 Twitter 帐户集成的步骤:http://www.servicepro.wiki/wiki/1171/cloud9-twitter-account-integration-for-sign-up

以下是在 Cloud9 上使用 Meteor 进行 Twitter 身份验证所需执行的步骤:

  • 确保您的应用程序是 Public,而不是私有的。您可以通过单击 'Share' 并在 Cloud9 工作区
  • 中选中 'Application' 旁边的 Public 来完成此操作
  • 确保将 Twitter 回调设置为 https://<workspace-name>-<username>.c9users.io
  • 由于 Meteor twitter auth 包默认使用 0.0.0.0:8080(你启动它的 IP:PORT)作为回调主机,所以你需要添加 ROOT_URL 环境变量。如果您使用的是 Cloud9 运行ner,您可以通过单击 运行 面板上的 'ENV' 按钮并添加它来添加环境变量。将 ROOT_URL 设置为应用程序的外部 URL。否则你可以在终端中输入:$ export ROOT_URL='https://<workspace-name>-<username>.c9users.io/'

注意:请注意,默认情况下 Meteor 在端口 3000 启动,但您需要将端口设置为 8080 才能使其工作。