web-dev-qa-db-fra.com

Qu'est-ce qu'un URI de redirection? Comment s'applique-t-il à l'application iOS pour OAuth2.0?

Programmeur débutant ici, excusez mon ignorance s'il vous plaît et les explications seront vraiment gentilles :)

J'ai essayé de lire les tutoriels d'un certain service OAuth 2.0, mais je ne comprends pas cette adresse URI de redirection ... dans mon contexte particulier, disons que j'essaie de créer une application iPhone qui utilise OAuth 2.0 pour certains services. J'ai un identifiant d'application qui a été généré, mais je dois fournir une sorte d'URI de redirection pour générer la clé API.

Est-ce une URL que je suis censé héberger quelque part moi-même? Comme son nom l'indique, je penserais que l'URL de redirection est supposée "rediriger" quelqu'un quelque part. Ma seule hypothèse est que c'est l'URL vers laquelle un utilisateur est redirigé après s'être connecté au service.

Cependant, même si cette hypothèse est correcte, je ne comprends pas autre chose. Comment mon application peut-elle être ouverte à nouveau après que je les ai envoyées au navigateur pour la connexion de l'utilisateur?

171
David T.

Lis ça:

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

ou une explication encore plus simple mais rapide:

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

L'URI de redirection est le point d'entrée de rappel de l'application. Pensez au fonctionnement de OAuth pour Facebook: une fois que l'utilisateur final a accepté les autorisations, Facebook doit appeler "quelque chose" pour revenir à l'application, et "quelque chose" correspond à l'URI de redirection. De plus, l'URI de redirection doit être différent du point d'entrée initial de l'application.

L’autre élément clé de ce puzzle est que vous pouvez lancer votre application à partir d’une URL donnée à une vue Web . Pour ce faire, j'ai simplement suivi le guide ici:

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

et

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

note: sur ces 2 derniers liens, "http: //" fonctionne dans l'ouverture du safari mobile mais "tel: //" ne fonctionne pas dans le simulateur

dans la première application, j'appelle

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

Dans ma deuxième application, j'enregistre "secondApp" (et NON "secondApp: //") comme nom d'URL Scheme, avec ma société comme identifiant d'URL.

189
David T.

Jetez un coup d'œil à OAuth 2.0.

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

8
Reckoner

uRI redirigé est l'emplacement où l'utilisateur sera redirigé après s'être connecté avec succès à votre application. Par exemple, pour obtenir un jeton d'accès pour votre application sur Facebook, vous devez sous-attribuer l'URI redirigé, qui n'est rien que le domaine de l'application que vous fournissez lorsque vous créez votre application Facebook.

7
Dhirender Tyagi

Si vous utilisez le Kit de développement logiciel (SDK) de Facebook, vous n'avez pas besoin de vous soucier de saisir quoi que ce soit pour la redirection d'URI sur la page de gestion des applications de Facebook. Configurez simplement un schéma d'URL pour votre application iOS. Le schéma d'URL de votre application doit correspondre à la valeur "fbxxxxxxxxxxxx", où xxxxxxxxxxx est l'identifiant de votre application, tel qu'identifié sur facebook. Pour configurer le schéma d'URL de votre application iOS, accédez à l'onglet Infos des paramètres de votre application et ajoutez le type d'URL.

2
Kunal Khanna