【发布时间】:2012-04-23 01:03:02
【问题描述】:
我正在尝试在我的 iOS5 应用程序中实现 Twitter SSO,并看到 Twitter 有一个名为 Reverse Auth 的东西。如果这是正确的方法,有人可以阐明一下。 Reverse Auth 基本上是从 iOS5 应用程序获取访问令牌并将其传递给应用程序服务器吗?
【问题讨论】:
标签: ios5 twitter oauth single-sign-on
我正在尝试在我的 iOS5 应用程序中实现 Twitter SSO,并看到 Twitter 有一个名为 Reverse Auth 的东西。如果这是正确的方法,有人可以阐明一下。 Reverse Auth 基本上是从 iOS5 应用程序获取访问令牌并将其传递给应用程序服务器吗?
【问题讨论】:
标签: ios5 twitter oauth single-sign-on
如果您想允许服务器进行 API 调用,您只需要使用 Reverse Auth。如果您只对让 iOS 应用直接发布到 Twitter 感兴趣,那么您不需要 Reverse Auth。
对于反向验证,请参阅:
https://dev.twitter.com/docs/ios/using-reverse-auth
https://github.com/seancook/TWiOS5ReverseAuthExample
请务必先向 Twitter 请求反向身份验证权限,否则示例代码将不起作用。
【讨论】:
要在 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 件事
许多人试图自己制作这些,但您需要很长时间才能自己制作并根据您的要求制作。
所以在 gitHub 上关注这个 repo https://github.com/seancook/TWReverseAuthExample
还有关于反向验证的 Twitter 文档 https://dev.twitter.com/docs/ios/using-reverse-auth
【讨论】: