Laravel社交名媛包中的动态社交应用程序凭据
我正在尝试构建一个多租户应用程序,我已经在其中配置了数据库、视图文件夹,我知道一定有办法为社交名流配置社交应用程序登录的凭据。我尝试了一些方法来动态设置它 步骤1 我在一个单独的文件夹中创建了一个名为Socialist的类,当调用social登录时,我在我的控制器中实现了以下功能:Laravel社交名媛包中的动态社交应用程序凭据,laravel,laravel-socialite,laravel-5.4,Laravel,Laravel Socialite,Laravel 5.4,我正在尝试构建一个多租户应用程序,我已经在其中配置了数据库、视图文件夹,我知道一定有办法为社交名流配置社交应用程序登录的凭据。我尝试了一些方法来动态设置它 步骤1 我在一个单独的文件夹中创建了一个名为Socialist的类,当调用social登录时,我在我的控制器中实现了以下功能: public function redirectSocialLogin() { $social = new SocialiteProvider(); $fb = $social->makeFac
public function redirectSocialLogin()
{
$social = new SocialiteProvider();
$fb = $social->makeFacebookDriver();
return $fb->redirect();
}
我使用了以下方法:
public function callbackSocialLogin($media)
{
$user = Socialite::driver($media)->user();
$data['name'] = $user->getName();
$data['email'] = $user->getEmail();
dd($data);
}
在我的课堂上,我有以下代码:
public function makeFacebookDriver()
{
$config['client_id'] = 'XXXXXXXXXXXXXXX';
$config['client_secret'] = 'XXXXXXXXXXXXXXX';
$config['redirect'] = 'http://XXXXXXXXXXXX/auth/facebook/callback';
return Socialite::buildProvider('\Laravel\Socialite\Two\FacebookProvider', $config);
}
protected function createFacebookDriver()
{
$config['client_id'] = 'XXXXXXXXXXXXXXX';
$config['client_secret'] = 'XXXXXXXXXXXXXXXXXXXX';
$config['redirect'] = 'http://XXXXXXXXXXX/auth/facebook/callback';
return $this->buildProvider(
'Laravel\Socialite\Two\FacebookProvider', $config
);
}
它可以完美地重定向到社交页面,但当收到回调时,我发现一个错误,它再次获取services.php文件进行配置,但没有得到任何响应
步骤2
我以SocialiteServiceProvider
的名义创建了一个ServiceProvider
,扩展了核心SocialiteServiceProvider
,并放置了以下代码:
public function makeFacebookDriver()
{
$config['client_id'] = 'XXXXXXXXXXXXXXX';
$config['client_secret'] = 'XXXXXXXXXXXXXXX';
$config['redirect'] = 'http://XXXXXXXXXXXX/auth/facebook/callback';
return Socialite::buildProvider('\Laravel\Socialite\Two\FacebookProvider', $config);
}
protected function createFacebookDriver()
{
$config['client_id'] = 'XXXXXXXXXXXXXXX';
$config['client_secret'] = 'XXXXXXXXXXXXXXXXXXXX';
$config['redirect'] = 'http://XXXXXXXXXXX/auth/facebook/callback';
return $this->buildProvider(
'Laravel\Socialite\Two\FacebookProvider', $config
);
}
但它再次抛出错误,即驱动程序未设置
。帮我解决这个问题。
谢谢。在您的步骤1中,按以下所述更新回调并重试
$media
实际上是请求
。因此,当初始化社交名媛::driver($media)时,您实际上是在传递请求
您必须通过的Facebook
public function callbackSocialLogin(Request $request) {
$fbDriver = (new SocialiteProvider())->makeFacebookDriver();
$user = $fbDriver->user();
$data['name'] = $user->getName();
$data['email'] = $user->getEmail();
...
}
是的,我这样做是为了
$media
,您的解决方案奏效了。我忘记实施的愚蠢的事情。谢谢。干杯。应该如何配置内部SocialProvider()?Nitish kumar,你能展示内部吗(新的SocialProvider()),我尝试了很多,我找不到合适的文章来实现动态客户端id、密钥。你的SocialProvider()中有什么内容。