Twitter API身份验证

时间:2015-07-18 05:41:16

标签: ios twitter twitter-oauth

我试图接受iOS开发。我为自己创建了一个应用程序(不会发布),这个应用程序愚蠢地从用户那里获取查询输入并使用该查询在twitter中搜索。

我可以使用UIWebView,但我想使用Twitter的REST API来熟悉API的工作原理。但是,我无法让它工作,因为twitter的API需要身份验证(我很少理解)。

身份验证如何工作,我可以验证我将自己使用的应用程序吗?

1 个答案:

答案 0 :(得分:0)

Twitter使用OAUTH2。基本上它是这样的:

 +--------+                               +---------------+
 |        |--(A)- Authorization Request ->|   Resource    |
 |        |                               |     Owner     |
 |        |<-(B)-- Authorization Grant ---|               |
 |        |                               +---------------+
 |        |
 |        |                               +---------------+
 |        |--(C)-- Authorization Grant -->| Authorization |
 | Client |                               |     Server    |
 |        |<-(D)----- Access Token -------|               |
 |        |                               +---------------+
 |        |
 |        |                               +---------------+
 |        |--(E)----- Access Token ------>|    Resource   |
 |        |                               |     Server    |
 |        |<-(F)--- Protected Resource ---|               |
 +--------+                               +---------------+

                 Figure 1: Abstract Protocol Flow
  

图1中所示的抽象OAuth 2.0流程描述了   四个角色之间的互动,包括以下步骤:

     

(A)客户端请求资源所有者授权。   该           授权请求可以直接发送给资源所有者           (如图所示),或者最好通过授权间接地           服务器作为中介。

     

(B)客户端收到授权许可,即a           表示资源所有者授权的凭证,           使用此中定义的四种授权类型之一表示           规范或使用扩展授权类型。该           授权授权类型取决于使用的方法           客户端请求授权和支持的类型           授权服务器。

     

(C)客户端通过使用身份验证来请求访问令牌           授权服务器并提交授权许可。

     

(D)授权服务器验证客户端和   只会验证           授权授权,如果有效,则发出访问令牌。

以上是spec

的例外情况

请仔细阅读this。那里已经有各种语言的示例代码。这是一个sample code for iphone/ipad