autenticación de Google usando Perl CGI-aplicación
-
09-10-2019 - |
Pregunta
he construido un CGI :: Application actualmente en ejecución en el host local y se han utilizado métodos de autenticación 2 -
1. descried en http://www.perlmonks.org/?node_id=622071 almacenando contraseña de usuario en la base de datos y
2. usando las credenciales de LDAP.
Yo estaba buscando una forma sencilla de hacerlo autenticación de Google, pero no he encontrado una manera fácil todavía. ¿Puede alguien me punto en la dirección correcta.
Me miró
1.-Authen cuenta de google y
2. net-Google-FederatedLogin
pero no lo suficiente documentación para cualquiera de éstos. ¿Dónde empiezo? Por favor, hágamelo saber, incluso si tiene alguna puntero para hacer esto fuera de CGI :: Application
Solución
Esta es la solución más cercano que pude encontrar. No soy un experto en seguridad, pero no creo que los sitios web en serio sería utilizar este método. Utiliza WWW :: Mecanizar para autenticar a través de Google de correo electrónico / contraseña y luego tirar de contenido seguro a cabo.
http://gregjessup.com/login-to-google-using-perl /
Si $ nismo> get ($ url); devuelve el error, falla la autenticación.
Otros consejos
Este es el código que se utiliza para el Android Market para desarrolladores (market.android.com/publish):
use WWW::Mechanize;
use HTTP::Cookies;
my $url = 'https://www.google.com/accounts/ServiceLogin';
my $username = 'username@gmail.com';
my $password = "PASSWORD";
my $mech = WWW::Mechanize->new();
$mech->cookie_jar(HTTP::Cookies->new());
$mech->get($url);
$mech->form_number(1);
$mech->field(Email => $username);
$mech->field(Passwd => $password);
$mech->click();
# Go to the next link, now that we are logged in.
$url = 'https://market.android.com/publish/Home';
$mech->get($url);
print $mech->content();
Es una pequeña edición / limpieza del enlace Prateek colocado: http: // gregjessup. com / login-a-google-usando-perl . Creo que debe ser capaz de ser utilizado para la mayoría de los servicios de Google que requieren que estar conectado.