· 6 years ago · Jan 29, 2019, 06:56 PM
1<?php
2
3namespace App\Http\Controllers;
4
5use Illuminate\Http\Request;
6
7// ALTERAR ESTES 3 VALORES:
8define('YOUR_SERVER_URL', 'http://examedad.local');
9
10// Check "oauth_clients" table for next 2 values:
11define('CLIENT_ID', '2');
12define('CLIENT_SECRET','td3pAYzaTuEpBaDw3WnmcWnDkRb3qDwXRiHfgfcb');
13
14
15class LoginControllerAPI extends Controller
16{
17 public function login(Request $request)
18 {
19 $http = new \GuzzleHttp\Client;
20
21 try {
22 $response = $http->post(YOUR_SERVER_URL . '/oauth/token', [
23 'form_params' => [
24 'grant_type' => 'password',
25 'client_id' => CLIENT_ID,
26 'client_secret' => CLIENT_SECRET,
27 'username' => $request->email,
28 'password' => $request->password,
29 ]
30 ]);
31 return $response->getBody();
32 } catch (\GuzzleHttp\Exception\BadResponseException $e) {
33 if ($e->getCode() === 400) {
34 return response()->json('Invalid Request. Please enter an email or a password.', $e->getCode());
35 } else if ($e->getCode() === 401) {
36 return response()->json('Your credentials are incorrect. Please try again', $e->getCode());
37 }
38 return response()->json('Something went wrong on the server.', $e->getCode());
39 }
40 }
41
42 public function logout()
43 {
44 \Auth::guard('api')->user()->token()->revoke(); \Auth::guard('api')->user()->token()->delete();
45 return response()->json(['msg'=>'Token revoked'], 200);
46 }
47}