Php 使用Gmail登录网站

Php 使用Gmail登录网站,php,openid,Php,Openid,我在我的网站上安装了一个登录名。我想在stackoverflow中实现这个登录名。但是只有一个gmail选项。 1用户必须选择gmail登录类型 2他必须输入他的gmail用户名和密码 3必须重新将其送回现场 我在这方面很新。任何帮助都可以通过OpenID进行身份验证。阅读此内容请参见 这是非常容易实现的。他们已经考虑到了这个用例 <?php # Logging in with Google accounts requires setting special identity, so th

我在我的网站上安装了一个登录名。我想在stackoverflow中实现这个登录名。但是只有一个gmail选项。 1用户必须选择gmail登录类型 2他必须输入他的gmail用户名和密码 3必须重新将其送回现场


我在这方面很新。任何帮助都可以通过OpenID进行身份验证。阅读此内容

请参见


这是非常容易实现的。他们已经考虑到了这个用例

<?php
# Logging in with Google accounts requires setting special identity, so this example shows how to do it.
require 'openid.php';
try {
    $openid = new LightOpenID;
    if(!$openid->mode) {
        if(isset($_GET['login'])) {
            $openid->identity = 'https://www.google.com/accounts/o8/id';
            header('Location: ' . $openid->authUrl());
        }
?>
<form action="?login" method="post">
    <button>Login with Google</button>
</form>
<?php
    } elseif($openid->mode == 'cancel') {
        echo 'User has canceled authentication!';
    } else {
        echo 'User ' . ($openid->validate() ? $openid->identity . ' has ' : 'has not ') . 'logged in.';
    }
} catch(ErrorException $e) {
    echo $e->getMessage();
}

这是一个叫做openid的链接,非常感谢。你能给出一个完整的简单例子吗?这是一个完整的简单例子;。当你下载tarball时,你可以运行这个例子=>Ye,我知道了…但是注销如何…在$\u会话中登录$openid->identity。在$\u会话中存储数据后,应[重新生成会话],以防止会话固定。要注销,只需使用销毁会话即可。请记住,用户仍然需要注销谷歌。如果不是,当他再次访问您的站点并单击登录链接时,他只会被登录。你不能将用户从谷歌注销。这是用户必须自己做的事情。
alfred@alfred-laptop:~/www$ wget http://gitorious.org/lightopenid/lightopenid/archive-tarball/master
--2011-02-02 13:21:30--  http://gitorious.org/lightopenid/lightopenid/archive-tarball/master
Resolving gitorious.org... 87.238.52.168
Connecting to gitorious.org|87.238.52.168|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17104 (17K) [application/x-gzip]
Saving to: `master'

100%[======================================>] 17,104      --.-K/s   in 0.04s   

2011-02-02 13:21:30 (386 KB/s) - `master' saved [17104/17104]

alfred@alfred-laptop:~/www$ tar xfz master 
alfred@alfred-laptop:~/www$ google-chrome http://localhost/lightopenid-lightopenid/example-google.php
Created new window in existing browser session.