iOS5中的反向身份验证和Twitter SSO

iOS5中的反向身份验证和Twitter SSO,ios5,twitter,oauth,single-sign-on,Ios5,Twitter,Oauth,Single Sign On,我正试图在我的iOS5应用程序中实现Twitter SSO,并看到Twitter有一个名为反向身份验证的东西。如果这是正确的方法,有人能解释一下吗。反向身份验证基本上是从iOS5应用程序获取访问令牌并将其传递给应用程序服务器吗?如果希望允许服务器进行API调用,则只需要使用反向身份验证。如果你只想让iOS应用程序直接发布到Twitter,那么你不需要反向认证 有关反向身份验证,请参见: 请确保首先从Twitter请求反向身份验证权限,否则示例代码将不起作用。若要在Twitter上获取访问令牌

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

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

有关反向身份验证,请参见:


请确保首先从Twitter请求反向身份验证权限,否则示例代码将不起作用。

若要在Twitter上获取访问令牌,您的请求必须是授权请求或签名请求,当您希望在应用程序中实施推送通知时,类似于苹果的签名证书

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

所以反向认证的主要思想是。。 您首先使用消费者密钥(即应用程序密钥)和消费者密钥等数据发出第一个请求。。()

然后,您将收到一个密钥,在第二个请求中使用该密钥来获取访问令牌。。 ()

Twitter正在使用一种称为反向身份验证的方法来回答这4个问题: 1.哪个应用程序正在提出请求? 2.请求是代表哪个用户发布的? 3.用户是否已授权代表用户发布应用程序? 4.请求在传输过程中是否被第三方篡改

为了回答这些问题,他们在你的请求中增加了7件事

  • oauth_消费者_密钥
  • 现在
  • oauth_签名
  • oauth_签名法
  • oauth_时间戳
  • oauth_代币
  • oauth_版本
许多人试图自己制作这些,但这将需要你花很多时间来制作自己和他们对你的要求

因此,请遵循gitHub上的回购协议

还有关于反向身份验证的Twitter文档

Hm,为什么服务器需要单独的访问令牌?一旦客户端接收到身份验证令牌,它就不能将其传递给服务器吗?已经有一段时间了,但是iirc他们希望区分客户端和服务器,因为客户端API调用总是由用户直接发起的,而服务器API调用可以自动进行(因此,用户必须明确授予客户端应用程序执行反向身份验证的权限)。单独的令牌允许用户撤销服务器的授权,而无需撤销客户端应用程序的授权。