【问题标题】:Twitter API Authentication推特 API 身份验证
【发布时间】:2015-07-18 13:48:31
【问题描述】:

我正在尝试学习 iOS 开发。我正在为自己创建一个应用程序(不会发布),它被简化了,从用户那里获取查询输入并使用该查询通过 twitter 进行搜索。

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

身份验证是如何工作的,我可以对自己使用的应用进行身份验证吗?

【问题讨论】:

标签: ios twitter twitter-oauth


【解决方案1】:

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) 客户端收到授权许可,这是一个 代表资源所有者授权的凭证, 使用在此定义的四种授权类型之一表示 规范或使用扩展授权类型。这 授权授予类型取决于所使用的方法 客户端请求授权和支持的类型 授权服务器。

(C) 客户端通过身份验证请求访问令牌 授权服务器并提供授权。

(D) 授权服务器对客户端进行身份验证,并 验证 授权授予,如果有效,则颁发访问令牌。

以上是spec的摘录

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

【讨论】:

    猜你喜欢
    • 2014-05-26
    • 1970-01-01
    • 2016-04-12
    • 2012-12-16
    • 2017-02-28
    • 2016-04-24
    • 1970-01-01
    • 2011-11-28
    • 2011-03-29
    相关资源
    最近更新 更多