it-roy-ru.com

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

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

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

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

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

165
David T.

Прочитай это:

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" (а не "secondApp: //") в качестве имени схемы URL, с моей компанией в качестве идентификатора URL.

185
David T.

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

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

8
Reckoner

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

7
Dhirender Tyagi

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

2
Kunal Khanna