login & logout
login sempre funcionou logout já remove o token da local-storage logout já faz redirect para a página/component loginmaster
parent
092dcd496f
commit
fd9a6b7435
|
@ -1,44 +1,33 @@
|
||||||
<?php
|
<?php
|
||||||
|
namespace App\Http\Controllers\Auth;
|
||||||
namespace App\Http\Controllers;
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Foundation\Auth\AuthenticatesUsers;
|
||||||
use Illuminate\Http\Request;
|
class LoginController extends Controller
|
||||||
|
|
||||||
define('YOUR_SERVER_URL', 'http://badmemory.test');
|
|
||||||
// Check "oauth_clients" table for next 2 values:
|
|
||||||
define('CLIENT_ID', '2');
|
|
||||||
define('CLIENT_SECRET','KN0kCLNhCPFfjz8PTLqnaGU4Kn6qzu3ToRtcHIk5');
|
|
||||||
|
|
||||||
class LoginControllerAPI extends Controller
|
|
||||||
{
|
{
|
||||||
public function login(Request $request)
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Login Controller
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This controller handles authenticating users for the application and
|
||||||
|
| redirecting them to your home screen. The controller uses a trait
|
||||||
|
| to conveniently provide its functionality to your applications.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
use AuthenticatesUsers;
|
||||||
|
/**
|
||||||
|
* Where to redirect users after login.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $redirectTo = '/home';
|
||||||
|
/**
|
||||||
|
* Create a new controller instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
{
|
{
|
||||||
$http = new \GuzzleHttp\Client;
|
$this->middleware('guest')->except('logout');
|
||||||
$response = $http->post(YOUR_SERVER_URL.'/oauth/token', [
|
|
||||||
'form_params' => [
|
|
||||||
'grant_type' => 'password',
|
|
||||||
'client_id' => CLIENT_ID,
|
|
||||||
'client_secret' => CLIENT_SECRET,
|
|
||||||
'username' => $request->email,
|
|
||||||
'password' => $request->password,
|
|
||||||
'scope' => ''
|
|
||||||
],
|
|
||||||
'exceptions' => false,
|
|
||||||
]);
|
|
||||||
$errorCode= $response->getStatusCode();
|
|
||||||
if ($errorCode=='200') {
|
|
||||||
return json_decode((string) $response->getBody(), true);
|
|
||||||
} else {
|
|
||||||
return response()->json(['msg'=>'User credentials are invalid'], $errorCode);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function logout()
|
|
||||||
{
|
|
||||||
echo "LC";
|
|
||||||
\Auth::guard('api')->user()->token()->revoke();
|
|
||||||
\Auth::guard('api')->user()->token()->delete();
|
|
||||||
return response()->json(['msg'=>'Token revoked'], 200);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,11 +34,10 @@ class LoginControllerAPI extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
public function logout()
|
public function logout()
|
||||||
{
|
{
|
||||||
echo "LCAPI";
|
\Auth::guard('api')->user()->token()->revoke();
|
||||||
\Auth::guard('api')->user()->token()->revoke();
|
\Auth::guard('api')->user()->token()->delete();
|
||||||
\Auth::guard('api')->user()->token()->delete();
|
return response()->json(['msg'=>'OK LCI'], 200);
|
||||||
return response()->json(['msg'=>'Token revoked'], 200);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -46995,7 +46995,7 @@ exports = module.exports = __webpack_require__(2)(false);
|
||||||
|
|
||||||
|
|
||||||
// module
|
// module
|
||||||
exports.push([module.i, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ""]);
|
exports.push([module.i, "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", ""]);
|
||||||
|
|
||||||
// exports
|
// exports
|
||||||
|
|
||||||
|
@ -47036,24 +47036,22 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
logout: function logout() {
|
logout: function logout() {
|
||||||
console.log("estou dentro da logout function");
|
var _this = this;
|
||||||
// apagar o token da localStorage
|
|
||||||
var logConfig = {
|
var head = {
|
||||||
|
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': 'Bearer ' + window.localStorage.getItem('access_token')
|
'Authorization': 'Bearer ' + window.localStorage.getItem('token'),
|
||||||
// 'Accept' : 'application/json',
|
'Accept': 'application/json'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
console.log("antes do axios");
|
|
||||||
console.log(logConfig);
|
|
||||||
|
|
||||||
axios.post('api/logout', null, logConfig).then(function (response) {
|
axios.post('/api/logout', null, head).then(function (response) {
|
||||||
if (response.status == 200) {
|
if (response.status == 200) {
|
||||||
window.localStorage.removeItem('access_token');
|
window.localStorage.removeItem('token');
|
||||||
console.log("Token removed");
|
console.log("Token removed");
|
||||||
|
_this.$router.push('/login');
|
||||||
}
|
}
|
||||||
console.log(response);
|
|
||||||
}).catch(function (error) {
|
}).catch(function (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
});
|
});
|
||||||
|
@ -47072,7 +47070,9 @@ var render = function() {
|
||||||
return _c("div", { staticClass: "container" }, [
|
return _c("div", { staticClass: "container" }, [
|
||||||
_c("div", { staticClass: "row" }, [
|
_c("div", { staticClass: "row" }, [
|
||||||
_c("div", { staticClass: "col-md-8 col-md-offset-2" }, [
|
_c("div", { staticClass: "col-md-8 col-md-offset-2" }, [
|
||||||
_c("p", [_vm._v(_vm._s(_vm.message))]),
|
_c("h1", [_vm._v("Logout")]),
|
||||||
|
_vm._v(" "),
|
||||||
|
_c("p", [_c("em", [_vm._v(_vm._s(_vm.message))])]),
|
||||||
_vm._v(" "),
|
_vm._v(" "),
|
||||||
_c(
|
_c(
|
||||||
"div",
|
"div",
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8 col-md-offset-2">
|
<div class="col-md-8 col-md-offset-2">
|
||||||
<p>{{message}}</p>
|
<h1>Logout</h1>
|
||||||
<div class="text-left">
|
<p><em>{{message}}</em></p>
|
||||||
<button class="btn btn-primary" v-on:click="logout()">Logout</button>
|
<div class="text-left">
|
||||||
<router-link class="btn btn-default" to="/users">Cancel</router-link>
|
<button class="btn btn-primary" v-on:click="logout()">Logout</button>
|
||||||
</div>
|
<router-link class="btn btn-default" to="/users">Cancel</router-link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
export default {
|
export default {
|
||||||
data (){
|
data (){
|
||||||
|
@ -26,26 +26,22 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
logout: function(){
|
logout() {
|
||||||
console.log("estou dentro da logout function");
|
let head = {
|
||||||
// apagar o token da localStorage
|
|
||||||
let logConfig = {
|
|
||||||
|
|
||||||
headers: {
|
headers: {
|
||||||
'Authorization': 'Bearer ' + window.localStorage.getItem('access_token'),
|
'Authorization': 'Bearer ' + window.localStorage.getItem('token'),
|
||||||
// 'Accept' : 'application/json',
|
'Accept': 'application/json',
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
console.log("antes do axios");
|
|
||||||
console.log(logConfig);
|
|
||||||
|
|
||||||
axios.post('api/logout', null, logConfig)
|
axios.post('/api/logout', null, head)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
if(response.status == 200){
|
if(response.status == 200){
|
||||||
window.localStorage.removeItem('access_token');
|
window.localStorage.removeItem('token');
|
||||||
console.log("Token removed");
|
console.log("Token removed");
|
||||||
|
this.$router.push('/login');
|
||||||
}
|
}
|
||||||
console.log(response);
|
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue