php - with - ¿Cómo habilita a los clientes para iniciar sesión en su sitio usando su cuenta de Google?
google login jquery (7)
Acabo de ver http://uservoice.com/login . Utiliza cuentas de Google, MySpace , Yahoo, OpenID y todo para iniciar sesión en clientes en su sitio. ¿Puedo hacer eso?
Quiero decir, los clientes no necesitan registrarse en mi sitio. Pueden iniciar sesión con sus cuentas en los sitios anteriores.
Si tiene una solución, preferiría una basada en PHP y MySQL.
Debería consultar la biblioteca de OpenID Enablded PHP ( http://www.openidenabled.com/php-openid/ ).
Esto debería funcionar muy bien con cualquier instalación LAMP sin necesidad de usar Zend.
También puede ver esto: https://rpxnow.com/ - solo necesitará integración en el nivel HTML / javascript.
Es lo que parece que usa http://uservoice.com/login .
Zend_OpenId es un componente de Zend Framework que proporciona una API simple para construir sitios habilitados para OpenID y proveedores de identidades.
Usuarios de Uservoice RPX http://rpxnow.com . Puedes usarlo fácilmente con PHP, solo https y analizar el json o xml repsonse. Ni siquiera necesita cambiar su esquema de base de datos o almacenar algo localmente.
creo que es una buena solución para usted paso a paso
Descarga de 1 descarga
2-crea un archivo llamado login.php de esta manera (en el mismo directorio o cambia require_one al tuyo):
<?php
require_once ''openid.php'';
$myopenid = new LightOpenID("your-domain.com");//no problem even if u can write http://localhost
if ($myopenid->mode) {
if ($myopenid->mode == ''cancel'') {
echo "User has canceled authentication !";
} elseif($myopenid->validate()) {
$data = $myopenid->getAttributes();
$email = $data[''contact/email''];
$first = $data[''namePerson/first''];
echo "Identity : $openid->identity <br>";
echo "Email : $email <br>";
echo "First name : $first";
} else {
echo "The user has not logged in";
}
} else {
echo "Go to index page to log in.";
}
?>
3-next trata de crear un archivo llamado index.php:
<?php
require_once ''openid.php'';
$openid = new LightOpenID("your-domain.com");//no problem even if u can write http://localhost
$openid->identity = ''https://www.google.com/accounts/o8/id'';
$openid->required = array(
''namePerson/first'',
''namePerson/last'',
''contact/email'',
);
$openid->returnUrl = ''your-domain.com/login.php''
?>
<a href="<?php echo $openid->authUrl() ?>">Login with Google</a>
casi me olvido de desconectarme y puedo matar la sesión;
Vea aquí: Clase PHP de inicio de sesión de Google .
También asegúrese de consultar el sitio de inicio de sesión de Google Federated para obtener más información.