我正在使用Laravel 5.6 + Socialite来使用Facebook实现登录流程。我也在使用cloud9来帮助我开发它。
我关注many tutorials,但当我尝试登录我的开发环境时,this red message仍然出现:
无法加载网址:此网址的域名未包含在应用中 域。要加载此网址,请添加所有域和子域 应用程序设置中的应用程序域字段。
缺少一些东西。这似乎是一个Facebook设置问题,我认为我的Cloud9网址可能会导致它。也许C9网址被列入黑名单,但我在这里或其他地方没有找到任何关于它的官方确认。
这是我目前的“面向开发者的Facebook”设置:
我的控制器(app / Http / Controllers / SocialAuthFacebookController.php):
<?php
namespace Zyga\Http\Controllers;
use Socialite;
class SocialAuthFacebookController extends Controller
{
public function handleProviderCallback()
{
return Socialite::driver('facebook')->user();
}
public function redirectToProvider()
{
return Socialite::driver('facebook')->redirect();
}
}
配置/ services.php:
'facebook' => [
'client_id' => 'blablabla1',
'client_secret' => 'blablabla2',
'redirect' => 'https://myapp-myusername.c9users.io/login/facebook/callback',
],
routes(web.php):
Route::get('login/facebook', 'SocialAuthFacebookController@redirectToProvider');
Route::get('login/facebook/callback', 'SocialAuthFacebookController@handleProviderCallback');
添加了别名和提供程序config / app.php:
'providers' => [
// ...
Laravel\Socialite\SocialiteServiceProvider::class,
],
'aliases' => [
// ...
'Socialite' => Laravel\Socialite\Facades\Socialite::class,
],
我的登录按钮:
<a href="{{url('/login/facebook')}}">Login with Facebook</a>
修改
保存http://myapp-myusername.c9users.io/后,它显示为没有“http”。
有什么建议吗?我应该检查别的吗?我知道我们可以在这里找到其他类似的问题,但它们似乎已经过时,因为Facebook开发仪表板现在提供不同的设置。
答案 0 :(得分:1)
这是一个Facebook设置问题。
您需要&#34;添加产品&#34;,按照向导进行操作,然后在设置中包含所有重定向和回调网址&#34;有效OAuth重定向URI&#34;。此表单仅在您的&#34;添加产品&#34;之后显示。
它在Cloud9中完美运行,您不需要设置端口等。