【问题标题】:authentification facebook : Invalid App ID The provided App ID does not appear to be validauthentification facebook : Invalid App ID 提供的 App ID 似乎无效
【发布时间】:2021-07-27 02:12:24
【问题描述】:

我想用 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',[App\Http\Controllers\Auth\LoginController::class,'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');
        }

我创建了 google 应用程序来获取 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

【问题讨论】:

    标签: php laravel facebook-authentication laravel-socialite


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-18
      • 2021-03-28
      • 2023-03-08
      • 2015-12-29
      • 2015-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多