微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

身份验证 facebook : Invalid App ID 提供的 App ID 似乎无效

如何解决身份验证 facebook : Invalid App ID 提供的 App ID 似乎无效

我想用facebook登录,我创建laravel身份验证,我用facebook添加按钮登录,我通过命令composer require laravel/socialite安装laravel socialite包,我在config/services中添加配置:

'facebook' => [
    'client_id' => env('FACEBOOK_CLIENT_ID'),'client_secret' => env('FACEBOOK_CLIENT_SECRET'),'redirect' => 'http://localhost:8000/laravel-socialite/public/login/facebook/callback',],

我在 routes/web.PHP添加了路由:

Route::get ('login/facebook',[App\Http\Controllers\Auth\LoginController::class,'redirectToFacebook'])->name('login.facebook');
Route::get('login/facebook/callback','handleFacebookCallback']);

我输入了“使用 Facebook 登录”网址的按钮:

<a href="{{ route('login.facebook') }}" class="btn btn-danger btn-block">login with Facebook</a>

我将 id 和变量键放在 .env 文件中:

FACEBOOK_CLIENT_ID="1332763360453031"
FACEBOOK_CLIENT_SECRET="b459fd6252126609a1ad1a5d81161f1d"

我在 loginController 中创建了 _registerOrLoginUser 函数

protected function _registerOrLoginUser ($ data)
    {
        $ user = User :: where ('email','=',$ data-> email) -> first ();
        if (! $ user) {
            $ user = new User ();
            $ user-> name = $ data-> name;
            $ user-> email = $ data-> email;
            $ user-> provider_id = $ data-> provider_id;
            $ user-> avatar = $ data-> avatar;
            $ user-> save ();
        }
        Auth :: login ($ user);
    }

我在 LoginController.PHP添加了这两个函数调用了 _registerOrLoginUser 函数重定向到“home”。

public function redirectToFacebook () {
            return Socialite :: driver ('google') -> redirect ();
        }
        public function handleFacebookCallback () {
            $ user = Socialite :: driver ('facebook') -> user ();
            $ this -> _ registerOrLoginUser ($ user);
            return redirect () -> route ('home');
        }

我创建了谷歌应用程序来获取 id 和 sercret。

数据库/表用户迁移:

public function up ()
    {
        Schema :: create ('users',function (Blueprint $ table) {
            $ table-> id ();
            $ table-> string ('name');
            $ table-> string ('email');
            $ table-> timestamp ('email_verified_at') -> nullable ();
            $ table-> string ('password');
            $ table-> string ('provider_id') -> nullable ();
            $ table-> string ('avatar') -> nullable ();
            $ table-> rememberToken ();
            $ table-> timestamps ();
        });
    }

最后,当我点击 facebook 的登录按钮时,它会打开带有 invalid app ID 消息的 facebook 页面 The application ID provided does not appear to be valid。 在链接中:

https://www.facebook.com/v3.3/dialog/oauth?client_id=&redirect_uri=http%3A%2F%2Flocalhost%3A8000%2Faswaktin%2Fpublic%2Flogin%2Ffacebook%2Fcallback&scope=email&response_type=code&state=mxWJ2fjpUyAqvhs6o88V3wOJXjkBBZdbU3MCbirY

解决方法

你必须启动 Laravel 服务器。 使用 php artisan serve 启动 Laravel 应用程序。

在 facebook 开发者帐户和 facebook 配置文件中查看您的重定向 URL。

你应该检查这个问题。 Laravel Facebook login

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。