我正在尝试制作一个将使用Uber API进行乘车之类的事情的iOS。我正在尝试在iPhone上实现OAuth 2.0,而不使用任何服务器端帮助。

那可能吗?有人做过吗?

以下是一些参考:

Uber验证:https://developer.uber.com/v1/auth/

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

最佳答案

是的,这是可能的。我可以使用Uber API为我的应用配置OAuth2。以下是分步说明:

  • 在您的应用程序中,使用client_id和response_type=code重定向到https://login.uber.com/oauth/authorize,以允许用户授权您的应用程序。
  • 成功获得授权后,Uber将重定向到您的redirect_uri(您可以指定任何redirect_uri,包括localhost:xxxx进行测试等),以向您提供一次性使用的身份验证代码,有效期为10分钟。实现回调以检索此身份验证代码。
  • 使用第2步中的有效验证码,发出POST请求以交换访问 token 。作为一个简单的检查,我建议使用curl来确认访问 token 的有效性。例如: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
  • 成功交换后,将访问 token 用作后续端点调用的“授权”标头的值。例如:curl -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' 'https://api.uber.com/v1/products?latitude=37.7759792&longitude=-122.41823'
  • 关于ios - Uber API iOS OAuth 2.0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29460457/

    10-14 21:53