Что такое URI перенаправления? как это применимо к iOS-приложению для OAuth2.0?

Начинающий программист здесь, пожалуйста, помилование невежества и объяснений будет очень приятно:)

Я попытался прочитать учебники для определенной службы OAuth 2.0, но я не понимаю этот URI перенаправления... в моем конкретном контексте, скажем, я пытаюсь создать приложение для iPhone, использующее OAuth 2.0 для некоторой службы. У меня есть идентификатор приложения, который был сгенерирован, но мне нужно предоставить некоторый тип URI перенаправления для генерации ключа API.

Является ли это URL-адресом, который я должен сам разместить где-то сам? Как следует из названия, я думаю, что URL-адрес перенаправления должен "перенаправлять" кого-то. Мое единственное предположение, что это URL-адрес пользователя перенаправляется после входа в службу.

Однако, даже если это предположение верно, я не понимаю другого: как мое приложение может быть открыто снова после того, как я отправил их в браузер для входа пользователя?

Ответ 1

Прочтите это:

http://www.quora.com/OAuth-2-0/How-does-OAuth-2-0-work

или даже более простое, но быстрое объяснение:

http://agileanswer.blogspot.se/2012/08/oauth-20-for-my-ninth-grader.html

URI перенаправления - это точка входа обратного вызова приложения. Подумайте о том, как работает OAuth для Facebook - после того, как конечный пользователь принимает разрешения, "что-то" должно быть вызвано Facebook, чтобы вернуться в приложение, и что "что-то" является URI перенаправления. Кроме того, URI перенаправления должен отличаться от начальной точки входа приложения.

Другим ключевым моментом в этой головоломке является то, что вы можете запустить свое приложение с URL-адреса, указанного в веб-браузере. Чтобы сделать это, я просто попросил руководство здесь:

http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html

и

http://inchoo.net/mobile-development/iphone-development/launching-application-via-url-scheme/

Примечание: на последних двух ссылках "http://" работает при открытии мобильного сафари, но "tel://" не работает в симуляторе

в первом приложении, я вызываю

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"secondApp://"]];

В моем втором приложении я регистрирую "secondApp" (и NOT "secondApp://" ) как имя схемы URL, а моя компания - как идентификатор URL.

Ответ 2

перенаправленный uri - это место, где пользователь будет перенаправлен после успешного входа в ваше приложение. например, чтобы получить токен доступа для вашего приложения в facebook, вам необходимо перенаправить перенаправленный uri, который является ничем иным, как приложение, которое вы предоставляете при создании своего приложения facebook.

Ответ 3

Взгляните на игровую площадку OAuth 2.0. Вы получите обзор протокола. Это в основном среда (как и любое приложение), которая показывает вам шаги, связанные с протоколом.

https://developers.google.com/oauthplayground/

Ответ 4

Если вы используете Facebook SDK, вам не нужно беспокоиться о том, чтобы вводить все для перенаправления URI на странице управления приложениями в facebook. Просто настройте Схема URL для вашего приложения iOS. Схема URL вашего приложения должна быть значением "fbxxxxxxxxxxx", где xxxxxxxxxxx ваш идентификатор приложения, указанный на facebook. Чтобы настроить схему URL для приложения iOS, перейдите на вкладку сведений о настройках вашего приложения и добавьте URL-тип.