如何启用客户使用其Google账户登录您的网站?

21

我刚看到了http://uservoice.com/login,它使用Google账户、Myspace、Yahoo和OpenID等,让客户登录其网站? 我能做到吗?

我的意思是,客户无需在我的网站上注册,他们可以使用上述网站的账户直接登录。

如果您有解决方案,我更喜欢基于PHP和MySQL的方案。

7个回答

15

5

4

2

Zend_OpenId 来自 Zend Framework

Zend_OpenId是Zend Framework组件的一部分,为构建OpenID启用的站点和身份提供者提供了简单的API。



1

Uservoice用户可以使用RPX http://rpxnow.com。您可以轻松地在PHP中使用它,只需使用https并解析json或xml响应即可。您甚至不需要更改数据库架构或本地存储任何内容。


-1

我认为这对你来说是一个好的解决方案,一步一步来。

1-下载openid

2-创建名为login.php的文件,像这样(在同一目录中或更改require_one到你自己的目录):

<?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 是关于创建名为 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>

我差点忘了,要注销可以杀死会话;


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接