Deseo implementar Single Sign-on en la aplicación de un cliente. El cliente ha alojado correos electrónicos a través de Google Apps. Como Google ofrece OpenID, esto podría ser relativamente fácil de implementar. Sin embargo, es posible que el usuario no haya iniciado sesión en la cuenta de Google correcta (o incluso en varias cuentas).¿Cómo se limita el inicio de sesión de Google Federated al dominio de aplicaciones específico?
Por lo tanto, cuando se utiliza el punto final de Google OpenID https://www.google.com/accounts/o8/id
, el usuario puede elegir con qué cuenta de Google quiere iniciar sesión. Como la aplicación solo permitirá el inicio de sesión desde el dominio de Google Apps, este paso se puede omitir y debería ser para una mayor experiencia del usuario. Sin embargo, no pude encontrar formas de hacerlo. Hay this question en SO, pero los enlaces están todos muertos o se refieren a especificaciones obsoletas. Además, no pude encontrar una pista en las especificaciones Federated Login for Google Account Users.
Algunos lugares dicen que uno debe utilizar https://www.google.com/a/[domain]/o8/ud?be=o8
, pero que no parecen funcionar (ya):
$ wget --header='Accept: application/xrds+xml' https://www.google.com/a/[domain]/o8/ud?be=o8
2012-01-24 09:29:53 ERROR 400: Bad Request.
Esto no funciona para mí usando Python bajo GAE y users.create_login_url() con la url anterior como el parámetro federated_identity. ¿Alguien más ha intentado eso? –
Pregunta separada separada sobre esto [aquí] (http://stackoverflow.com/questions/14637137/how-to-restrict-openid-login-to-one-google-apps-domain-on-gae-again) –