Nov 23, 2016
0
Level 1
PasswprdlessAuthentication
Auth::login($token->user, $request->remember);
in MagicLoginController
gives me this error:
FatalThrowableError in SessionGuard.php line 439: Type error: Argument 1 passed to Illuminate\Auth\SessionGuard::login() must implement interface Illuminate\Contracts\Auth\Authenticatable, null given, called in C:\wamp64\www\this\vendor\laravel\framework\src\Illuminate\Auth\AuthManager.php on line 294
I did what it says, or so do I think, but to no avail...
Any ideas about what this error alludes to?
MagicLoginController
<?php
namespace polemos\Http\Controllers\Auth;
use Auth;
use polemos\Models\UserLoginToken;
use polemos\Http\Requests;
use Illuminate\Http\Request;
use polemos\Auth\MagicAuthentication;
use polemos\Http\Controllers\Controller;
class MagicLoginController extends Controller
{
protected $redirectOnRequested = '/signin';
public function show()
{
return view('/auth/signin');
}
public function sendToken(Request $request, MagicAuthentication $auth)
{
$this->validateLogin($request);
$auth->requestLink();
return redirect()->to($this->redirectOnRequested)->with('success', 'We have sent you a link! Please, check your email inbox to login!');
}
public function validateToken(Request $request, UserLoginToken $token)
{
$token->delete();
//if ($token->isExpired()) {
// return redirect('/login/magic')->with('error', 'That magic link has expired.');
//}
//if (!$token->belongsToEmail($request->email)) {
// return redirect('/login/magic')->with('error', 'Invalid magic link.');
//}
Auth::login($token->user, $request->remember);
//$token->delete();
return redirect()->intended();
}
protected function validateLogin(Request $request)
{
$this->validate($request, [
'email' => 'required|email|max:255|exists:users,email'
]);
}
}
Please or to participate in this conversation.