javascript - integrar - Ejemplo claro/documentación de cómo usar el inicio de sesión de Google para mi aplicación web
progressive web apps ejemplos (2)
Mantengo una aplicación web antigua escrita en C ++ y JavaScript. Me han pedido que agregue autenticación de inicio de sesión de Facebook, Google y Twitter.
El bit de Facebook fue bien. Encontré un código JavaScript simple en el sitio para desarrolladores de Facebook http://developers.facebook.com/docs/reference/javascript/ que agregué a mi página de inicio de sesión. Luego modifiqué el programa cgi de inicio de sesión de C ++ para reconocer las devoluciones de llamadas de Facebook y para registrar al usuario usando su dirección de correo electrónico (que ya está archivada).
Estoy atrapado con el bit Google. Al principio me revolqué en el sitio de Google, pero no pude encontrar ningún ejemplo simple. Me dirigieron a la biblioteca libopkele C ++, pero no puedo encontrar instrucciones sobre cómo usarlo (y sospecho que no es lo que necesito). Luego encontré algo llamado Google Friend Connect http://code.google.com/apis/friendconnect/docs/code.html (que, desafortunadamente, dice que está depreciado). Eso contenía un buen ejemplo de JavaScript, que puse en mi sitio web. Proporciona un botón que dice "Iniciar sesión", y cuando hace clic en él, aparece una ventana que le pide su dirección de correo electrónico. Usted completa la dirección, dice "Conectándose a su IDP", luego "Redirigiendo a su IDP", luego aparece la página de inicio de sesión posterior en la ventana emergente.
Obviamente no quiero eso, quiero que aparezca en la ventana original donde hicieron clic en el botón "Iniciar sesión".
Aquí está mi javascript desde la página de inicio de sesión:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/googleapis/0.0.4/googleapis.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/jsapi"></script>
<script type="text/javascript">
google.load("identitytoolkit", "1", {packages: ["ac"], language:"en"});
</script>
<script type="text/javascript">
$(function() {
window.google.identitytoolkit.setConfig({
developerKey: "<I put my developer key here>",
companyName: "<I put my company name here>",
callbackUrl: "http://www.mywebsite.com/cgi-bin/login.cgi",
realm: "",
userStatusUrl: "http://http://www.mywebsite.com/cgi-bin/loginstatus.cgi",
loginUrl: "http://http://www.mywebsite.com/cgi-bin/login.cgi",
signupUrl: "http://http://www.mywebsite.com/cgi-bin/login.cgi",
homeUrl: "http://www.mywebsite.com",
logoutUrl: "http://http://www.mywebsite.com/cgi-bin/logout.cgi",
idps: ["Gmail", "GoogleApps", "Yahoo"],
tryFederatedFirst: true,
useCachedUserStatus: false
});
$("#navbar").accountChooser();
});
</script>
<div id="navbar"></div>
Encuentro que mi userStatusUrl nunca se llama. Se llama a callbackUrl, pero no estoy seguro de qué devolver. Parece que todo lo que devuelvo simplemente se muestra en la página. Vi una referencia de paso en alguna parte para devolver un elemento json que contenía {"registered": true}, pero tampoco funcionó (aquí está el texto exacto que devolví de mi script cgi):
Content-Type: application/json
Content-Length: 20
{"registered" : true}
Cualquier ayuda, o sugerencias para una implementación simple y agradable, se agradece. (¡Un script PHP que use bibliotecas externas no sería de mucha ayuda!)
¿Has examinado OpenID de Google?
Los sitios web y las aplicaciones de terceros ahora pueden permitir que los visitantes inicien sesión con sus cuentas de usuario de Google. El inicio de sesión federado, basado en el estándar OpenID, libera a los usuarios de tener que configurar cuentas de inicio de sesión separadas para diferentes sitios web y libera a los desarrolladores de sitios web de la tarea de implementar medidas de autenticación de inicio de sesión. OpenID logra este objetivo al proporcionar un marco en el que los usuarios pueden establecer una cuenta con un proveedor de OpenID, como Google, y usar esa cuenta para iniciar sesión en cualquier sitio web que acepte OpenID. Esta página describe cómo integrar el inicio de sesión federado de Google para un sitio web o aplicación.
Al final, utilicé rpxnow.com , que proporciona un inicio de sesión fácil de usar a través de una selección de proveedores que utilizan una interfaz única, sencilla y bien documentada.