2012-04-10 50 views
2

我试图在iOS5应用中实现Twitter SSO,并看到Twitter有一些称为Reverse Auth的内容。如果这是正确的做法,有人可以阐明一些看法。 Reverse Auth基本上是从iOS5应用程序获取访问令牌并将其传递给应用程序服务器?iOS5中的反向验证和Twitter SSO

回答

5

如果您想允许服务器进行API调用,则只需使用Reverse Auth。如果你只是想让iOS应用程序直接发布到Twitter,那么你不需要反向验证。

对于反向验证,请参阅:

https://dev.twitter.com/docs/ios/using-reverse-auth

https://github.com/seancook/TWiOS5ReverseAuthExample

一定要先从Twitter请求反向验证权限,否则示例代码将无法正常工作。

+0

嗯文档此回购,为什么会需要一个单独的访问令牌服务器?一旦客户端收到验证令牌,它不能将它传递给服务器吗? – Ying 2012-09-03 21:34:58

+0

这已经有一段时间了,但他们希望区分客户端和服务器,因为客户端API调用总是由用户直接发起,而服务器API调用可以自主进行(因此,用户必须明确授予客户端应用程序许可权执行反向验证)。单独的令牌允许用户撤销服务器的授权,而不必撤销客户端应用程序的授权。 – 2012-09-18 00:53:14

0

要在Twitter上获取您的访问令牌,您的请求必须是授权请求或签名请求,就像您希望在您的应用程序中实现推送通知时的类似于Apple的签名证书一样。

在Facebook端这些过程是隐含的,但在Twiteer中,您应该先授权您的请求以获取用户访问令牌。

所以主要思想n条反向验证是这些.. 你喜欢消费一些关键数据(这是应用程序键)和消费者密钥让您的第一个请求第一次。(https://api.twitter.com/oauth/request_token

然后您会收到你所使用的第二个请求,以获得访问令牌的关键.. (https://api.twitter.com/oauth/access_token

Twitter正在使用的东西称为反向验证回答这个4个问题:1。 哪个应用程序正在发出请求? 2.请求以哪个用户的名义发布? 3.用户是否授予应用程序授权以代表用户发布? 4.请求是否在运输过程中被第三方篡改?

,并回答了这些问题,他们增加了7件事请求你让

  • oauth_consumer_key
  • oauth_nonce
  • oauth_signature
  • oauth_signature_method
  • oauth_timestamp
  • 的oauth_token
  • oauth_versio n

许多人试图自己做这些,但它会需要很多时间从你自己和他们的要求。

所以,跟在GitHub上 https://github.com/seancook/TWReverseAuthExample

也推特的有关反向验证 https://dev.twitter.com/docs/ios/using-reverse-auth