Auth::login() not working properly laravel 5.7
I'm trying to setup 'Login with facebook' using laravel socialite. When I try to login, it gets a successful callback from the facebook, I'm storing the data fetched into the database and try to redirect to home page. While doing so, I am redirected back to the login page and never reaching the homepage.
While debugging the error I found that my Auth::login($user) is not working properly.
Here is the code-
AuthController.php
use AppHttpControllersController;
use LaravelSocialiteTwoInvalidStateException;
use Auth;
use Socialite;
use AppUser;
public function redirectToProvider($provider)
{
return Socialite::driver($provider)->redirect();
}
public function handleProviderCallback($provider)
{
$user = Socialite::driver($provider)->user();
// dd($user);
$authUser = $this->findOrCreateUser($user, $provider);
// dd($authUser);
if(Auth::login($authUser, true)){ // here is the error
return redirect($this->redirectTo);
}
else{
return 'Login not done'; //this prints out to the screen
}
}
public function findOrCreateUser($user, $provider)
{
$authUser = User::where('id', $user->id)->first();
if ($authUser) {
return $authUser;
}
return User::create([
'name' => $user->name,
'email' => $user->email,
'avatar' => $user->avatar,
'password' => bcrypt('password'),
'provider' => $provider,
'id' => $user->id
]);
}
Do let me know what am I doing wrong.
This is what I'm getting while dd($authUser)

php laravel authentication laravel-5 laravel-socialite
|
show 18 more comments
I'm trying to setup 'Login with facebook' using laravel socialite. When I try to login, it gets a successful callback from the facebook, I'm storing the data fetched into the database and try to redirect to home page. While doing so, I am redirected back to the login page and never reaching the homepage.
While debugging the error I found that my Auth::login($user) is not working properly.
Here is the code-
AuthController.php
use AppHttpControllersController;
use LaravelSocialiteTwoInvalidStateException;
use Auth;
use Socialite;
use AppUser;
public function redirectToProvider($provider)
{
return Socialite::driver($provider)->redirect();
}
public function handleProviderCallback($provider)
{
$user = Socialite::driver($provider)->user();
// dd($user);
$authUser = $this->findOrCreateUser($user, $provider);
// dd($authUser);
if(Auth::login($authUser, true)){ // here is the error
return redirect($this->redirectTo);
}
else{
return 'Login not done'; //this prints out to the screen
}
}
public function findOrCreateUser($user, $provider)
{
$authUser = User::where('id', $user->id)->first();
if ($authUser) {
return $authUser;
}
return User::create([
'name' => $user->name,
'email' => $user->email,
'avatar' => $user->avatar,
'password' => bcrypt('password'),
'provider' => $provider,
'id' => $user->id
]);
}
Do let me know what am I doing wrong.
This is what I'm getting while dd($authUser)

php laravel authentication laravel-5 laravel-socialite
DoesAuth::loginreturn something? (From the first peek at the auth docs I could not see that there is a return value)
– Roland Starke
Dec 31 '18 at 9:58
it returns null @Roland Starke
– Ujjwal Verma
Dec 31 '18 at 10:01
So an if else around it is useless. (Does not tell you if the login worked or not). You could just remove the if else and always redirect somewhere.
– Roland Starke
Dec 31 '18 at 10:02
but when I do dd($authUser), it does return an array
– Ujjwal Verma
Dec 31 '18 at 10:05
redirecting directly won't serve the purpose of authenticating the user.
– Ujjwal Verma
Dec 31 '18 at 10:06
|
show 18 more comments
I'm trying to setup 'Login with facebook' using laravel socialite. When I try to login, it gets a successful callback from the facebook, I'm storing the data fetched into the database and try to redirect to home page. While doing so, I am redirected back to the login page and never reaching the homepage.
While debugging the error I found that my Auth::login($user) is not working properly.
Here is the code-
AuthController.php
use AppHttpControllersController;
use LaravelSocialiteTwoInvalidStateException;
use Auth;
use Socialite;
use AppUser;
public function redirectToProvider($provider)
{
return Socialite::driver($provider)->redirect();
}
public function handleProviderCallback($provider)
{
$user = Socialite::driver($provider)->user();
// dd($user);
$authUser = $this->findOrCreateUser($user, $provider);
// dd($authUser);
if(Auth::login($authUser, true)){ // here is the error
return redirect($this->redirectTo);
}
else{
return 'Login not done'; //this prints out to the screen
}
}
public function findOrCreateUser($user, $provider)
{
$authUser = User::where('id', $user->id)->first();
if ($authUser) {
return $authUser;
}
return User::create([
'name' => $user->name,
'email' => $user->email,
'avatar' => $user->avatar,
'password' => bcrypt('password'),
'provider' => $provider,
'id' => $user->id
]);
}
Do let me know what am I doing wrong.
This is what I'm getting while dd($authUser)

php laravel authentication laravel-5 laravel-socialite
I'm trying to setup 'Login with facebook' using laravel socialite. When I try to login, it gets a successful callback from the facebook, I'm storing the data fetched into the database and try to redirect to home page. While doing so, I am redirected back to the login page and never reaching the homepage.
While debugging the error I found that my Auth::login($user) is not working properly.
Here is the code-
AuthController.php
use AppHttpControllersController;
use LaravelSocialiteTwoInvalidStateException;
use Auth;
use Socialite;
use AppUser;
public function redirectToProvider($provider)
{
return Socialite::driver($provider)->redirect();
}
public function handleProviderCallback($provider)
{
$user = Socialite::driver($provider)->user();
// dd($user);
$authUser = $this->findOrCreateUser($user, $provider);
// dd($authUser);
if(Auth::login($authUser, true)){ // here is the error
return redirect($this->redirectTo);
}
else{
return 'Login not done'; //this prints out to the screen
}
}
public function findOrCreateUser($user, $provider)
{
$authUser = User::where('id', $user->id)->first();
if ($authUser) {
return $authUser;
}
return User::create([
'name' => $user->name,
'email' => $user->email,
'avatar' => $user->avatar,
'password' => bcrypt('password'),
'provider' => $provider,
'id' => $user->id
]);
}
Do let me know what am I doing wrong.
This is what I'm getting while dd($authUser)

php laravel authentication laravel-5 laravel-socialite
php laravel authentication laravel-5 laravel-socialite
edited Dec 31 '18 at 10:17
Ujjwal Verma
asked Dec 31 '18 at 9:48
Ujjwal VermaUjjwal Verma
234
234
DoesAuth::loginreturn something? (From the first peek at the auth docs I could not see that there is a return value)
– Roland Starke
Dec 31 '18 at 9:58
it returns null @Roland Starke
– Ujjwal Verma
Dec 31 '18 at 10:01
So an if else around it is useless. (Does not tell you if the login worked or not). You could just remove the if else and always redirect somewhere.
– Roland Starke
Dec 31 '18 at 10:02
but when I do dd($authUser), it does return an array
– Ujjwal Verma
Dec 31 '18 at 10:05
redirecting directly won't serve the purpose of authenticating the user.
– Ujjwal Verma
Dec 31 '18 at 10:06
|
show 18 more comments
DoesAuth::loginreturn something? (From the first peek at the auth docs I could not see that there is a return value)
– Roland Starke
Dec 31 '18 at 9:58
it returns null @Roland Starke
– Ujjwal Verma
Dec 31 '18 at 10:01
So an if else around it is useless. (Does not tell you if the login worked or not). You could just remove the if else and always redirect somewhere.
– Roland Starke
Dec 31 '18 at 10:02
but when I do dd($authUser), it does return an array
– Ujjwal Verma
Dec 31 '18 at 10:05
redirecting directly won't serve the purpose of authenticating the user.
– Ujjwal Verma
Dec 31 '18 at 10:06
Does
Auth::login return something? (From the first peek at the auth docs I could not see that there is a return value)– Roland Starke
Dec 31 '18 at 9:58
Does
Auth::login return something? (From the first peek at the auth docs I could not see that there is a return value)– Roland Starke
Dec 31 '18 at 9:58
it returns null @Roland Starke
– Ujjwal Verma
Dec 31 '18 at 10:01
it returns null @Roland Starke
– Ujjwal Verma
Dec 31 '18 at 10:01
So an if else around it is useless. (Does not tell you if the login worked or not). You could just remove the if else and always redirect somewhere.
– Roland Starke
Dec 31 '18 at 10:02
So an if else around it is useless. (Does not tell you if the login worked or not). You could just remove the if else and always redirect somewhere.
– Roland Starke
Dec 31 '18 at 10:02
but when I do dd($authUser), it does return an array
– Ujjwal Verma
Dec 31 '18 at 10:05
but when I do dd($authUser), it does return an array
– Ujjwal Verma
Dec 31 '18 at 10:05
redirecting directly won't serve the purpose of authenticating the user.
– Ujjwal Verma
Dec 31 '18 at 10:06
redirecting directly won't serve the purpose of authenticating the user.
– Ujjwal Verma
Dec 31 '18 at 10:06
|
show 18 more comments
1 Answer
1
active
oldest
votes
you should use auth()->login($user); function after create user to add user to auth
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53985987%2fauthlogin-not-working-properly-laravel-5-7%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
you should use auth()->login($user); function after create user to add user to auth
add a comment |
you should use auth()->login($user); function after create user to add user to auth
add a comment |
you should use auth()->login($user); function after create user to add user to auth
you should use auth()->login($user); function after create user to add user to auth
edited Dec 31 '18 at 13:07
Rohit.007
1,6412419
1,6412419
answered Dec 31 '18 at 12:46
ahmed abdelatyahmed abdelaty
1
1
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53985987%2fauthlogin-not-working-properly-laravel-5-7%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Does
Auth::loginreturn something? (From the first peek at the auth docs I could not see that there is a return value)– Roland Starke
Dec 31 '18 at 9:58
it returns null @Roland Starke
– Ujjwal Verma
Dec 31 '18 at 10:01
So an if else around it is useless. (Does not tell you if the login worked or not). You could just remove the if else and always redirect somewhere.
– Roland Starke
Dec 31 '18 at 10:02
but when I do dd($authUser), it does return an array
– Ujjwal Verma
Dec 31 '18 at 10:05
redirecting directly won't serve the purpose of authenticating the user.
– Ujjwal Verma
Dec 31 '18 at 10:06