获取Twitter OAuth令牌和秘密,而无需用户使用Twitter登录

时间:2014-01-11 18:04:44

标签: ruby api twitter oauth token

我已经在我正在开发的rails应用程序中实现了Omniauth for Twitter。对于使用该用户登录的用户,我可以获取OAuth令牌和秘密。这一切都有效。

我无法弄清楚如何为未使用Twitter登录的用户获取OAuth令牌和秘密?

我确信我已经使用了可以“验证”它们的网站,这样他们就可以在不使用Twitter登录的情况下获得OAuth令牌和秘密。 Twitter似乎暗示你需要使用三条腿授权,但我似乎无法找到任何有关它的东西。

三条腿授权是否可以解决这个问题?

1 个答案:

答案 0 :(得分:1)

我要做的是修改处理Twitter的Omniauth回调的控制器操作。如果访问该操作时用户已经有一个会话(即他们通过您的备用机制登录),那么您只需获取Twitter令牌/秘密并将其存储,就像创建通过Twitter登录的新用户一样。如果会话中没有用户,那么执行您已经在做的事情。

现在,您只需向您的网站添加一个按钮,即登录但没有Twitter令牌/密码的人可以看到。该按钮链接到您使用Twitter链接登录时使用的完全相同的/auth/twitter

在他们使用Twitter进行身份验证后,他们将被发送到回调网址,您的应用将看到他们已经登录(用户在会话中)并且只会添加Twitter令牌/密码。