【问题标题】:Google authentication using perl cgi-application使用 perl cgi-application 进行 Google 身份验证
【发布时间】:2010-12-07 16:26:50
【问题描述】:

我已经构建了一个当前在本地主机上运行的 CGI::Application 并使用了 2 种身份验证方法 -
1.在http://www.perlmonks.org/?node_id=622071中描述通过将用户密码存储在数据库中和
2. 使用 LDAP 凭据。

我一直在寻找一种简单的方法来进行 google 身份验证,但还没有找到一种简单的方法。有人能指出我正确的方向吗?

我看过
1. Authen-GoogleAccount 和
2. net-Google-FederatedLogin

但没有足够的文档用于其中任何一个。我从哪里开始?即使你有一些在 cgi::application 之外执行此操作的指针,也请告诉我

【问题讨论】:

标签: perl google-authentication cgi-application


【解决方案1】:

这是我能找到的最接近的解决方案。我不是安全专家,但我认为认真对待它的网站不会使用这种方法。它使用 WWW::Mechanize 使用 google 电子邮件/密码进行身份验证,然后提取安全内容。

http://gregjessup.com/login-to-google-using-perl/

如果 $mech->get($url);返回错误,认证失败。

【讨论】:

    【解决方案2】:

    这是我用于 Android Market for Developers (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();
    

    这是 Prateek 发布的链接的小编辑/清理:http://gregjessup.com/login-to-google-using-perl。 我认为它应该可以用于大多数需要您登录的 Google 服务。

    【讨论】:

      猜你喜欢
      • 2013-09-24
      • 2017-03-11
      • 2015-12-10
      • 2018-10-19
      • 1970-01-01
      • 2019-08-15
      • 2012-04-23
      • 2011-10-20
      • 2014-09-11
      相关资源
      最近更新 更多