¿Qué es un URI de redireccionamiento? ¿Cómo se aplica a la aplicación iOS para OAuth2.0?

184

Programador principiante aquí, por favor, disculpe la ignorancia y las explicaciones serán realmente agradables :)

Intenté leer los tutoriales para un determinado servicio OAuth 2.0, pero no entiendo este URI de redireccionamiento ... en mi contexto particular, digamos que estoy tratando de construir una aplicación para iPhone que use OAuth 2.0 para algún servicio . Tengo una ID de aplicación que se generó, pero necesito proporcionar algún tipo de URI de redireccionamiento para generar la clave API.

¿Es esta una URL que se supone que debo alojar en algún lugar? Como su nombre lo indica, creo que se supone que la URL de redireccionamiento "redirige" a alguien a alguna parte. Mi única suposición es que es la URL a la que se redirige a un usuario después de iniciar sesión en el servicio.

Sin embargo, incluso si esa suposición es correcta, no entiendo otra cosa: ¿cómo puedo volver a abrir mi aplicación después de haberla enviado al navegador para que el usuario inicie sesión?

David T.
fuente

Respuestas:

194

Lee esto:

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

o una explicación aún más simple pero rápida:

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

El URI de redireccionamiento es el punto de entrada de devolución de llamada de la aplicación. Piense en cómo funciona OAuth para Facebook: después de que el usuario final acepta los permisos, Facebook debe llamar a "algo" para volver a la aplicación, y ese "algo" es el URI de redireccionamiento. Además, el URI de redireccionamiento debe ser diferente del punto de entrada inicial de la aplicación.

El otro punto clave de este rompecabezas es que puede iniciar su aplicación desde una URL dada a una vista web . Para hacer esto, simplemente seguí la guía aquí:

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

y

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

nota: en esos 2 últimos enlaces, "http: //" funciona al abrir el safari móvil, pero "tel: //" no funciona en el simulador

en la primera aplicación, llamo

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

En mi segunda aplicación, registro "secondApp" (y NO "secondApp: //") como el nombre del Esquema de URL, con mi empresa como el identificador de URL.

David T.
fuente
1
Entonces, usted necesita configurar su propio sitio web dado en el redirect_uri, ¿es correcto?
huggie
1
@huggie en el contexto de las aplicaciones de iOS: no, afortunadamente, no necesita su propio sitio web. solo necesita darse cuenta de que su aplicación iOS se puede abrir desde una URL dada al navegador web. lea: iosdevelopertips.com/cocoa/…
David T.
1
@Nazerke probablemente agrega ese ": //" para ti. así que solo necesitas un esquema de nombre
David T.
1
alguien por favor arregle esta respuesta - architecture-soa-bpm-eai.blogspot.com.br/2012/08/… ya no existe
Leo
2
Hola @DavidT. gran respuesta. Solo les preocupa, y espero que puedan salvarme, ¿cómo configurar esquemas para URI que se ven obligados a usar http://, como [YouTube, Instagram, LinkedIn]? Traté de registrarme, por ejemplo http://localhost/oauth2callback, redirigir, y el esquema http, localhost u oauth2callback pero ninguno de ellos funciona
Tal Zion
9

uri redirigido es la ubicación donde el usuario será redirigido después de iniciar sesión con éxito en su aplicación. por ejemplo, para obtener el token de acceso para su aplicación en Facebook, debe sublimar la uri redirigida, que no es nada más que el dominio de la aplicación que proporciona cuando crea su aplicación de Facebook.

Dhirender Tyagi
fuente
9

Eche un vistazo al patio de juegos OAuth 2.0. Obtendrá una visión general del protocolo. Es básicamente un entorno (como cualquier aplicación) que le muestra los pasos involucrados en el protocolo.

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

Calculadora
fuente
2

Si está utilizando Facebook SDK, no necesita molestarse en ingresar nada para redirigir el URI en la página de administración de aplicaciones de Facebook. Simplemente configure un esquema de URL para su aplicación iOS. El esquema de URL de su aplicación debe ser un valor "fbxxxxxxxxxxx" donde xxxxxxxxxxx es la identificación de su aplicación tal como se identifica en Facebook. Para configurar el esquema de URL para su aplicación iOS, vaya a la pestaña de información de la configuración de su aplicación y agregue Tipo de URL.

Kunal Khanna
fuente