【发布时间】:2022-04-25 17:00:03
【问题描述】:
我按照这个教程学习如何使用社交名流 -> https://laracasts.com/series/whats-new-in-laravel-5/episodes/9
这就是我所做的:
-
添加到我的 composer.json
"laravel/socialite": "^2.0", "laravelcollective/html": "5.1.*@dev" -
添加到我的app.php
供应商
Laravel\Socialite\SocialiteServiceProvider::class, Collective\Html\HtmlServiceProvider::class,别名
'Socialite' => Laravel\Socialite\Facades\Socialite::class, 'Form' => Collective\Html\FormFacade::class, 'Html' => Collective\Html\HtmlFacade::class, 添加到 services.php
'github' => [
'client_id' => 'myid',
'client_secret' => 'mysecret',
'redirect' => 'http://inspectorhost.app/login',
],
-
添加到 routes.php
Route::get('/', function () { if (Auth::check()) return 'Welcome back, ' . Auth::user()->username; return 'Hi guest. ' . link_to('login', 'Login with Github!'); }); Route::get('login', 'AuthController@login'); -
创建了一个AuthController并添加了
class AuthController extends Controller { public function login(){ return \Socialite::with('github')->redirect(); } }
我正在使用 nginx,并且我已对其进行了设置,因此它不需要使用 公共文件夹 来访问网络
root home/inspectorhost.app/public_html/public/;
所以当我点击“使用 Github 登录”时,它没有将我发送到 Github 以授权登录,而是将我发送到 /login 并给我一个 404 错误。
编辑 现在变得有趣了...当我转到 http://inspectorhost.app 并单击“使用 Github 登录”时,我从上面得到错误 (404) 但是如果我运行 php artisan serve 并访问该应用程序从 localhost:8000 它可以工作......所以我想这可能是 nginx 上的一些错误配置?
感谢任何帮助。
【问题讨论】:
-
查看日志看是否有错误。如果你download the code from github 并运行它,你会得到同样的错误吗?
-
@Jeemusu 好吧,我尝试使用来自 github 的代码,但它使用的是旧版本的社交名流和 laravel,甚至尝试运行该代码会导致错误可捕获的致命错误:参数 1 传递给 Illuminate \Foundation\Application::detectEnvironment() 必须是 Closure 的实例,给定数组,
-
好吧,如果不查看您的特定代码,将很难提供帮助。发布您的 html 链接、路由声明和控制器方法,应该有人可以帮助您。
-
@Jeemusu 你说得对,已经很晚了,只是在睡前发布。我用我所做的一切更新了帖子,包括代码。顺便说一句,日志没有显示任何错误。
-
是的,听起来您的 nginx 配置设置不正确。我会发布你的配置
server {}部分。
标签: laravel login http-status-code-404