Auth::login() not working properly laravel 5.7












2















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)



enter image description here










share|improve this question

























  • 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











  • 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
















2















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)



enter image description here










share|improve this question

























  • 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











  • 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














2












2








2








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)



enter image description here










share|improve this question
















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)



enter image description here







php laravel authentication laravel-5 laravel-socialite






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 31 '18 at 10:17







Ujjwal Verma

















asked Dec 31 '18 at 9:48









Ujjwal VermaUjjwal Verma

234




234













  • 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











  • 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













  • 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












1 Answer
1






active

oldest

votes


















0














you should use auth()->login($user); function after create user to add user to auth






share|improve this answer

























    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
    });


    }
    });














    draft saved

    draft discarded


















    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









    0














    you should use auth()->login($user); function after create user to add user to auth






    share|improve this answer






























      0














      you should use auth()->login($user); function after create user to add user to auth






      share|improve this answer




























        0












        0








        0







        you should use auth()->login($user); function after create user to add user to auth






        share|improve this answer















        you should use auth()->login($user); function after create user to add user to auth







        share|improve this answer














        share|improve this answer



        share|improve this answer








        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






























            draft saved

            draft discarded




















































            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.




            draft saved


            draft discarded














            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





















































            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







            Popular posts from this blog

            Mossoró

            Cannot access a disposed object : DataContext

            Can't read property showImagePicker of undefined in react native iOS