在iOS5中反向Auth和Twitter SSO

时间:2012-04-10 17:51:46

标签: ios5 twitter oauth single-sign-on

我正在尝试在我的iOS5应用程序中实现Twitter SSO,并且看到Twitter有一个名为Reverse Auth的东西。如果这是正确的方法,有人可以解释一下。 Reverse Auth基本上是从iOS5应用程序获取访问令牌并将其传递给应用程序服务器吗?

2 个答案:

答案 0 :(得分:5)

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

对于反向验证,请参阅:

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

https://github.com/seancook/TWiOS5ReverseAuthExample

请务必先从Twitter请求反向身份验证权限,否则示例代码将无效。

答案 1 :(得分:0)

要在Twitter上获取您的访问令牌,您的请求必须是授权请求或签名请求,如果您希望在您的应用程序中实现推送通知,则需要Apple的签名证书。

在Facebook方面,这些过程是隐式进行的,但在Twiteer中,您应首先授权您的请求获取用户访问令牌。

所以反向认证的主要思想是这些......  您首先使用消费者密钥(即应用密钥)和消费者密钥等数据发出第一个请求。(https://api.twitter.com/oauth/request_token

然后您会收到一个密钥,您可以在第二个请求中使用它来获取访问令牌。 (https://api.twitter.com/oauth/access_token

Twitter正在使用名为Reverse Auth的东西回答这4个问题:  1.哪个应用程序正在提出请求?  2.请求代表哪个用户发布?  3.用户是否已授予代表用户发布的申请授权?  4.请求在传输过程中是否被第三方篡改了?

并回答这些问题,他们为你提出的要求添加了7件事

  • oauth_consumer_key
  • oauth_nonce
  • oauth_signature
  • oauth_signature_method
  • oauth_timestamp
  • 组oauth_token
  • oauth_version

很多人都试图自己制作这些产品,但是你需要花费很多时间才能让自己和他们按照你的要求制作这些产品。

所以请关注gitHub上的这个回购 https://github.com/seancook/TWReverseAuthExample

还有Twitter关于Reverse Auth的文档 https://dev.twitter.com/docs/ios/using-reverse-auth