我正在尝试在我的 iOS5 应用程序中实现 Twitter SSO,并看到 Twitter 有一个叫做 Reverse Auth 的东西。如果这是正确的方法,有人可以解释一下。Reverse Auth 基本上是从 iOS5 应用程序获取访问令牌并将其传递给应用程序服务器吗?
2 回答
如果您想允许服务器进行 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 件事
- oauth_consumer_key
- oauth_nonce
- oauth_signature
- oauth_signature_method
- oauth_timestamp
- oauth_token
- oauth_version
许多人试图自己制作这些,但是您需要花费很多时间才能自己制作它们,并根据您的要求制作它们。
所以在 gitHub 上关注这个 repo https://github.com/seancook/TWReverseAuthExample
还有关于反向验证的 Twitter 文档 https://dev.twitter.com/docs/ios/using-reverse-auth