sigd/app/Http/Controllers/AuthApiController.php

75 lines
2.0 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Http\Controllers\BaseController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Str;
use Hash;
class AuthApiController extends BaseController
{
public function login(Request $request)
{
if (!Auth::attempt($request->only('username', 'password'))) {
return response()->json([
'message' => 'Username atau password salah'
], 401);
}
$user = Auth::user();
$token = $user->createToken('mobile')->plainTextToken;
return response()->json([
'token' => $token,
'user' => $user
]);
// $validator = Validator::make(
// $request->all(),
// [
// 'username' => 'required',
// 'password' => 'required',
// ]);
// if ($validator->fails()) {
// return $this->sendError('Bad Request', null, 400);
// }
// $credentials = array(
// 'username' => $request->username,
// 'password' => $request->password
// );
// $token = null;
// if (Auth::attempt($credentials)) {
// $token = $this->generateToken($request);
// return $this->sendResponse(null, $token, null, 'Login berhasil.');
// }
// return $this->sendError('Login gagal.', null, 400);
}
/**
* Update the authenticated user's Api token.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function generateToken(Request $request)
{
$token = Str::random(60);
$request->user()->forceFill([
'api_token' => hash('sha256', $token),
])->save();
return $token;
}
}