Browse Source

Initial Commit

Christopher Leggett 5 năm trước cách đây
mục cha
commit
b8a9086be1
2 tập tin đã thay đổi với 58 bổ sung0 xóa
  1. 55 0
      app/Http/Controllers/UserController.php
  2. 3 0
      routes/api.php

+ 55 - 0
app/Http/Controllers/UserController.php

@@ -0,0 +1,55 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\User;
+use Validator;
+use Illuminate\Http\Request;
+use App\Http\Controllers\Controller;
+use Illuminate\Support\Facades\Auth;
+
+class UserController extends Controller
+{
+    public function login()
+    {
+        $credentials = [
+            'username' => request('username'), 
+            'password' => request('password')
+        ];
+
+        if (Auth::attempt($credentials)) {
+            $success['token'] = Auth::user()->createToken('MyApp')->accessToken;
+
+            return response()->json(['success' => $success]);
+        }
+
+        return response()->json(['error' => 'Unauthorised'], 401);
+    }
+
+    public function register(Request $request)
+    {
+        $validator = Validator::make($request->all(), [
+            'name' => 'required',
+            'email' => 'required|email',
+            'password' => 'required',
+        ]);
+
+        if ($validator->fails()) {
+            return response()->json(['error' => $validator->errors()], 401);
+        }
+
+        $input = $request->all();
+        $input['password'] = bcrypt($input['password']);
+
+        $user = User::create($input);
+        $success['token'] = $user->createToken('MyApp')->accessToken;
+        $success['name'] = $user->name;
+
+        return response()->json(['success' => $success]);
+    }
+
+    public function getDetails()
+    {
+        return response()->json(['success' => Auth::user()]);
+    }
+}

+ 3 - 0
routes/api.php

@@ -13,6 +13,9 @@ use Illuminate\Http\Request;
 |
 */
 
+Route::post('login', 'UserController@login');
+Route::post('register', 'UserController@register');
+
 Route::middleware('auth:api')->get('/user', function (Request $request) {
     return $request->user();
 });