优步API iOS OAuth 2.0

我试图制作一个iOS,它将使用Uber API来执行诸如获取游乐设施等等。 我正在尝试在iPhone上实现OAuth 2.0,而不使用任何服务器端帮助。

那可能吗? 有没有人做过这个?

这里有一些参考:

Uber身份validation: https : //developer.uber.com/v1/auth/

Oauth 2.0: https : //aaronparecki.com/articles/2012/07/29/1/oauth2-simplified

是的,这是可能的。 我能够使用Uber API为我的应用程序configurationOAuth2。 以下是一步一步的说明:

  1. 在您的应用程序,redirect到https://login.uber.com/oauth/authorize与您的client_id和response_type=code ,以便允许用户授权您的应用程序。
  2. 在成功授权后,Uber将redirect到您的redirect_uri (您可以指定任何redirect_uri,包括用于testing目的的本地主机:xxxx等)以提供一次性使用并且有效10分钟的authentication码。 实现一个callback来检索这个授权码。
  3. 使用来自步骤2的有效授权码,进行POST请求以交换访问令牌。 作为一个简单的检查,我会build议使用curl来确认访问令牌的有效性。 例如: curl -F 'client_secret=YOUR_CLIENT_SECRET' \ -F 'client_id=YOUR_CLIENT_ID' \ -F 'grant_type=authorization_code' \ -F 'redirect_uri=YOUR_REDIRECT_URI' \ -F 'code=AUTHORIZATION_CODE' \ https://login.uber.com/oauth/token

  4. 成功交换后,使用访问令牌作为后续端点调用的“授权”标头的值。 例如: curl -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' 'https://api.uber.com/v1/products?latitude=37.7759792&longitude=-122.41823'