signout from google

This commit is contained in:
kroutony 2020-03-04 11:24:43 +08:00
parent 4cbdbf1079
commit 7593b83632
4 changed files with 32 additions and 5 deletions

View File

@ -108,4 +108,10 @@ class LoginController extends Controller
abort(403);
}
}
protected function loggedOut(Request $request)
{
$request->session()->flash('loggedOut', true);
return redirect($this->redirectPath());
}
}

17
resources/js/app.js vendored
View File

@ -39,3 +39,20 @@ window.onSignIn = function(googleUser) {
alert('Login fail')
})
}
window.googleApiOnload = function() {
gapi.load('auth2', function() {
gapi.auth2.init();
$(document).trigger('googleApiOnload');
});
}
$(() => {
$('#logout-link').on('click', e => {
e.preventDefault()
let googleAuth = gapi.auth2.getAuthInstance();
googleAuth.signOut().then(() => {
$('#logout-form').submit()
})
})
})

View File

@ -18,6 +18,11 @@
Register successful!
</div>
@endif
@if(session('loggedOut'))
<div class="alert alert-success">You are logged out</div>
@endif
@auth
You are logged in!
@else

View File

@ -8,12 +8,13 @@
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta name="google-signin-scope" content="profile email">
<meta name="google-signin-client_id" content="{{ config('app.googleApi.clientId') }}">
<script src="https://apis.google.com/js/platform.js" async defer></script>
<script src="{{ asset('js/app.js') }}"></script>
<script src="https://apis.google.com/js/platform.js?onload=googleApiOnload" async defer></script>
<title>{{ config('app.name', 'Laravel') }}</title>
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
<!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.gstatic.com">
@ -48,9 +49,7 @@
</li>
@else
<li class="nav-item">
<a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
<a class="nav-link" href="#" id="logout-link">
{{ __('Logout') }}
</a>