iPhone Google+ Login y OAuth2 en Backend

Al mirar el tutorial sobre el uso del SDK de Google+ para iOS en este enlace , puedo configurar el proyecto y otorgar mi request para get un token de acceso. Sin embargo, no quiero consumir el token en el dispositivo para get su nombre, correo electrónico, etc. Quiero get un código de acceso temporal (que se puede cambiar para un token OAuth2) o un token ID como lo hago en mi Android request. Esto se llama por google la identidad del cliente cruzado .

La idea es que el server backend reciba este código de intercambio y genere el token de acceso para search el perfil de usuario, correo electrónico, etc. Luego, el usuario se registra con esta información. Sin embargo, el token de acceso generado por la aplicación iOS solo puede ser consumido por la aplicación, ya que la ID de la aplicación utilizada es la identificación de la aplicación iOS. He intentado cambiar el id de la aplicación con el ID de la aplicación del server, pero luego se lanza un networkingirect_uri_mismatch.

Tratar de consumir el token de acceso directamente en el server provocará una Google_OAuth_Exception, ya que la identificación del cliente del server no es igual a la identificación del cliente de la aplicación.

Tengo otro enfoque en funcionamiento basado en la apertura de una página web, pero quería usar el process de inicio de session de Google+ nativo.

¿Alguna idea?

Estamos trabajando en esta function. Esto permitirá que la aplicación obtenga un "código" que puede enviar a su server para almacenar el acceso sin connection.

Lamento tener que esperar un par de semanas (lo siento, no tengo una date exacta).

La respuesta de Naveen es correcta, pero si solo necesita información básica de perfil y dirección de correo electrónico, puede utilizar el token de identificación en su lugar. Esto includeá la dirección de correo electrónico (siempre que haya solicitado el scope del correo electrónico) y la ID de usuario que se puede usar para consultar información de perfil público de la API de Google+, sin necesidad de pasar un código o token de acceso. Recuperar el token de ID es realmente fácil

[GPPSignIn shanetworkingInstance] setHomeServerClientID:@"911581857976.apps.googleusercontent.com"]; - (void) finishedWithAuth:(GTMOAuth2Authentication *)auth error:(NSError *)error { if (error) { NSLog(@"Error: %@", error); return; } NSLog(@"ID Token: %@", [[GPPSignIn shanetworkingInstance] idToken]); } 

Escribí un ejemplo más largo en una publicación de blog hacía un time, lo que podría ayudar: http://www.riskcompletefailure.com/2013/11/client-server-authentication-with-id.html

La respuesta rápida podría ser configurar URL de redirect adicionales en la Consola de nube.