2

Although I know about the authentication check via laravel, I want to know how to check via jQuery.

Actually, I want to change my CSS If user logged in. By default:

body{
    background: url('image.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

If user logged in, my CSS should be updated like:

body{
    /*Nothing*/
}

I've tried something in my js file:

var loggedIn={!! json_encode(Auth::check()) !!};
if(loggedIn)
    alert('Logged In as user!');

But the above code didn't work for me. I need help. If my purpose can be done in any alternative way, you may share.

Thanks

S M Iftakhairul
  • 990
  • 1
  • 17
  • 39

3 Answers3

2

I suggest you place anywhere in you template a script block like this:

    <script>
        var AuthUser = "{{{ (Auth::user()) ? Auth::user() : null }}}";
    </script>

Then you can access AuthUser variable in javascript

Robert Fridzema
  • 473
  • 3
  • 17
1

Try this.

var loggedIn = {{ auth()->check() ? 'true' : 'false' }};
if (loggedIn)
    alert('Logged In as user!');
Sandeesh
  • 10,718
  • 3
  • 30
  • 42
0

Laravel already uses a window.Laravel definition, so let's just extend that in the head of the master template:

<script>
    window.Laravel = {
        csrfToken: '{{csrf_token()}}',
        auth: {
            user: auth()->user()
        }
    }
</script>
Ohgodwhy
  • 47,967
  • 9
  • 74
  • 103