我刚看到http://uservoice.com/login。它使用 Google 帐户、Myspace、Yahoo、OpenID和所有帐户让客户登录其网站?我可以这样做吗?
我的意思是,客户不需要注册到我的网站。他们可以在上述网站上使用他们的帐户登录。
如果您有解决方案,我更喜欢基于 PHP 和 MySQL 的解决方案。
请参阅此处:Google 登录 PHP 类。
此外,请务必参阅Google 联合登录站点以获取更多信息。
您可能也想看看这个:https ://rpxnow.com/ - 它只需要在 HTML/javascript 级别进行集成。
这是http://uservoice.com/login似乎使用的。
您应该查看 OpenID 启用的 PHP 库 ( http://www.openidenabled.com/php-openid/ )。
这应该可以很好地与任何 LAMP 安装一起使用,而无需使用 Zend。
Zend_OpenId from Zend Framework
Zend_OpenId is a Zend Framework component that provides a simple API for building OpenID-enabled sites and identity providers.
Uservoice 用户 RPX http://rpxnow.com。您可以轻松地将它与 PHP 一起使用,只需 https 并解析 json 或 xml 响应。您甚至不需要更改数据库架构或在本地存储任何内容。
我认为一步一步对你来说是一个很好的解决方案
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>
我差点忘了注销你可以终止会话;