首页 文章

谷歌与Facebook签约冲突(PHP)

提问于
浏览
1

我正在尝试用facebook和google在php中实现登录 . 它们完美地分开工作,没有任何问题 .

但是,当我一起尝试它们时,看起来像Facebook api尝试连接谷歌身份验证 .

正是当我点击Facebook登录时,我有这个错误:

*Fatal error:

未捕获的异常“Google_AuthException”,并在/Myfolder/MAMP/htdocs/My_app/google/vendor/google/api-client/src/auth/Google_OAuth2.php:114中显示错误“获取OAuth2访问令牌时出错,消息:'invalid_grant''堆栈跟踪:#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->第114行/Myfolder/MAMP/htdocs/My_app/google/vendor/google/api-client/src/auth/Google_OAuth2.php中的checkRedirectCode()#3

*所以我找不到办法让facebook登录而不与goole api的checkRedirectCode()函数冲突 .

有没有人有这个问题或知道怎么办?

1 回答

  • 1

    我昨天贴了一些东西,但这不是一个真正的答案所以被删除了!对不起那些家伙 .

    就像背景说明一样,亚当在这里使用教程phpacademy的facebook和google登录 . 因为我使用相同的,我知道他在说什么 .

    行!!!所以.......!将两个(google和fb)URI放在同一个目标上并试试这个:在其函数checkRedirectCode()中的GoogleAuth类中,在调用函数之前添加此检查:

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

    它对我有用,让我知道它是否适合你 . 基本上你不想在Facebook登录时调用该功能! :)

相关问题