在自己的服务器上使用 twitter iOS 客户端授权

use twitter iOS client authorization on own server

我尝试做与 : use facebook iOS client authorization on own to server 相同的事情,但使用 Twitter。

我在 iOS 上将 SSO 与 Twitter Kit (Fabric) 结合使用。我设法登录并获取用户的 authToken 和 authTokenSecret。然后,我想将这些发送到我的服务器,以便我可以在我自己的数据库中检索相应的用户。

我知道我必须使用 OAuth 客户端。与 Rails 一起工作,我使用推特 gem.

但是当我尝试这样做时:

client = Twitter::REST::Client.new do |config|
  config.consumer_key        = "YOUR_CONSUMER_KEY" #I added my rail app at twitter dev center
  config.consumer_secret     = "YOUR_CONSUMER_SECRET" #idem
  config.access_token        = "YOUR_ACCESS_TOKEN" #from the ios app
  config.access_token_secret = "YOUR_ACCESS_SECRET" #from the ios app
end

我一直收到 401 Twitter::Error::Unauthorized,无法验证您的身份。我卡住了。我是不是做错了什么?

这是因为获取第一个访问令牌的 ios 应用程序与 rails 应用程序不同(因此 rails 应用程序的 consumer_key/secret 不会'没用)?

非常感谢

杰里

PS: 我已经被卡了好几天了,所以如果你有答案,你将节省我一周的时间;)

回答我自己的问题: 问题中描述的过程有效。我唯一更正的是 consumer_key 和 consumer_secret。 由于用户的 access_token/secret 是由 iOS SSO 生成的,因此 consumer_keyconsumer_secret 需要的不是您的 rails 应用程序,而是 您的 iOS 应用程序(您可以在 Fabric 管理中找到)。

然后,您 rails 应用程序中的 Twitter 客户端可以发回您数据库中有关用户的所有相关信息。