谷歌和Facebook签署冲突(PHP)


Google and Facebook sign in conflict (PHP)

我试图实现与facebook和谷歌在php登录。它们完全分开工作,没有问题。

但是当我一起尝试时,它看起来像facebook api试图与google身份验证连接。

当我点击facebook登录时,我有这个错误:

*致命错误:

未捕获的异常'Google_AuthException'与消息'错误抓取OAuth2访问令证,消息:'invalid_grant "在/Myfolder/MAMP/htdocs/My_app/google/vendor/google/api-client/src/Google_OAuth2.php:114堆栈跟踪:#0/Myfolder/MAMP/htdocs/My_app/google/vendor/google/api-client/src/Google_Client.php(131): Google_OAuth2->authenticate(Array, 'AQfjtxTYMHMZmEz…')#1/Myfolder/MAMP/htdocs/My_app/classes/GoogleAuth.php(36):Google_Client->authenticate('AQfjtxTYMHMZmEz…')#2/Myfolder/MAMP/htdocs/My_app/login.php(9): GoogleAuth->checkRedirectCode() #3 {main}抛出/Myfolder/MAMP/htdocs/My_app/google/vendor/google/api-client/src/auth/Google_OAuth2.php 114行

*所以我找不到一种方法,使工作的facebook登录没有冲突与checkRedirectCode()函数为google api。

有人遇到过这个问题或者知道怎么做吗?

我昨天发布了一些东西,但它不是一个真正的答案,所以被删除了!对不起,伙计们。

作为背景说明,Adam在这里使用了教程phpacademy的facebook和google登录。因为我用同样的,所以我知道他在说什么。

还好吧! !所以……!把这两个(谷歌和facebook)的uri是相同的目标,并尝试如下:在GoogleAuth类的函数checkRedirectCode()中,在调用函数之前添加此检查:

public function checkRedirectCode()    {
if (!isset($_SESSION['facebook'])) {
            if(isset($_GET['code']))
            {
                BLABLABLABLABLA
                }
                return true;
            }
                return false;
        } else {
            //skip this
            echo "FB session on";
        }
}

它对我有用,如果它对你有用,请告诉我。基本上,如果facebook登录了,你就不想调用这个函数了!:)