我试图接受iOS开发。我为自己创建了一个应用程序(不会发布),这个应用程序愚蠢地从用户那里获取查询输入并使用该查询在twitter中搜索。
我可以使用UIWebView
,但我想使用Twitter的REST API来熟悉API的工作原理。但是,我无法让它工作,因为twitter的API需要身份验证(我很少理解)。
身份验证如何工作,我可以验证我将自己使用的应用程序吗?
答案 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