我试图创建一个iOS,它将使用优步API来做游戏等等。我试图在iPhone上实现OAuth 2.0而不使用任何服务器端帮助。
这可能吗?有没有人这样做过?
以下是一些参考资料:
Uber身份验证:https://developer.uber.com/v1/auth/
Oauth 2.0:https://aaronparecki.com/articles/2012/07/29/1/oauth2-simplified
答案 0 :(得分:7)
是的,这是可能的。我能够使用优步API为我的应用配置OAuth2。以下是分步说明:
response_type=code
重定向到https://login.uber.com/oauth/authorize,以便用户授权您的应用。redirect_uri
(您可以指定任何redirect_uri,包括localhost:xxxx用于测试目的等),以便为您提供一次性使用且有效的auth代码10分钟实现回调以检索此身份验证代码。 使用步骤2中的有效身份验证代码,发出POST请求以交换访问令牌。作为一个简单的检查,我建议使用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
成功交换后,请使用访问令牌作为“授权”的值。后续端点调用的标头。例如:
curl -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' 'https://api.uber.com/v1/products?latitude=37.7759792&longitude=-122.41823'