Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: sexto en 22 Enero 2014, 10:51 am



Título: URL Redirect de Google
Publicado por: sexto en 22 Enero 2014, 10:51 am
Hola, a ver si me podéis ayudar.

Tengo una web que quiero sincronizar Google Calendar.
He creado el Acceso a la API en Google Cloud Console, en Credentials, OAuth, he puesto como URL Redirect http://www.xxxxxxxxx.com/gmailresponse/, y esa misma URL la he puesto en la clase encargada del login en Google.

Lo que me pasa es que cuando le doy a Conectar con Google, me lleva a la página esa de conceder permisos, solicita permisos para calendarios, le doy a Conceder (o Aceptar, no me acuerdo lo que pone en el botón) y los permisos se conceden correctamente, pero en vez de volver a la página gmailresponse (que después de guardar unos datos hace un redireccionamiento a /profile/) me lleva a index.php.

¿Sabéis qué me falta por poner para que me haga el redireccionamiento correctamente?

Muchas gracias.


Título: Re: URL Redirect de Google
Publicado por: el-brujo en 22 Enero 2014, 20:08 pm
yo estuve mirando algo parecido con Google Apps y el SSO (Single Sign On) y al final no funcionó por el tema de la creación de los certificados SSL, auqnue lo tengo pendiente de arreglar y hacerlo funcionar.

¿Estás usando SSO?

En el caso de sesión único aparece:


Citar
Habilitar inicio de sesión único

- URL de la página de acceso * ( URL para acceder a tu sistema y a Google Apps
- URL de la página de fin de sesión *  ( URL para redirigir usuarios cuando finalizan la sesión (
- Cambiar URL de contraseña *  ( URL para permitir a los usuarios cambiar su contraseña en tu sistema; cuando se define aquí, esta URL se muestra aunque el inicio de sesión único no esté habilitado.)

Hay mucha documentación, pero todo en Inglés:

SAML Single Sign-On (SSO) Service for Google Apps
https://developers.google.com/google-apps/sso/saml_reference_implementation

Generating Keys and Certificates for Google Apps SSO
https://developers.google.com/google-apps/help/articles/sso-keygen


Título: Re: URL Redirect de Google
Publicado por: sexto en 23 Enero 2014, 09:49 am
Uso la Google Client API.
http://code.google.com/p/google-api-php-client/

Para general la URL de Login (realmente no es login, sino para conceder permisos), pongoo los datos que previamente he creado en la Developer Console:
Código
  1.        $client = new Google_Client();
  2.        $client->setApplicationName("Google Calendar PHP Starter Application");
  3.  
  4.        $client->setClientId('xxxxxxxxxxx.apps.googleusercontent.com');
  5.        $client->setClientSecret('xxxxxxxxxxxxxxxxxxxxxxxxx');
  6.        $client->setRedirectUri('http://www.xxxxxxx.com/gmailresponse/');
  7.        $client->setDeveloperKey('xxxxxxxxxxxxxxxxxxxxxxxxx');
  8.  

Y luego genero la URL:
Código
  1.        $authUrl = $client->createAuthUrl();
  2.        return $authUrl;
  3.  
Ahora tengo otro problema, me devuelve a donde yo quiero (/gmailresponse/), pero aunque me devuelve 4 (respuesta correcta) no me ha concedido los permisos en mi cuenta. No me sale errores, simplemente me devuelve el OK pero realmente no ha hecho nada...

EDITO:
Ya lo he conseguido, me faltaba este código, que pensaba que había que hacerlo después:
Código
  1.        $this->client->authenticate($_GET['code']);
  2.  

Ahora tengo otro problema pero es de otra cosa (Eventos en calendarios) así que para eso abro otro post