Uber API iOS OAuth 2.0

Я пытался создать iOS, которая будет использовать Uber API для таких вещей, как поездки, а что нет. Я пытаюсь реализовать OAuth 2.0 на iPhone без помощи сервера.

Это возможно? Кто-нибудь делал это?

Вот несколько ссылок:

Аутентификация Uber: https://developer.uber.com/v1/auth/

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

1 ответ

Да, это возможно. Мне удалось настроить OAuth2 для моего приложения с помощью Uber API. Вот пошаговые инструкции:

  1. В вашем приложении перенаправьте на https://login.uber.com/oauth/authorize со своим client_id и response_type=code чтобы позволить пользователю авторизовать ваше приложение.
  2. После успешной авторизации Uber будет перенаправлять на ваш redirect_uri (вы можете указать любое значение redirect_uri, включая localhost:xxxx для тестирования и т. д.), чтобы предоставить вам код авторизации, который будет одноразовым и действителен в течение 10 минут. Реализуйте обратный вызов для получения этого кода авторизации.
  3. Используя действительный код авторизации из шага 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

  4. После успешного обмена используйте токен доступа в качестве значения для заголовка "Авторизация" для последующих вызовов конечной точки. Например:curl -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' 'https://api.uber.com/v1/products?latitude=37.7759792&longitude=-122.41823'

Другие вопросы по тегам