site-proximo/api_proximo/app/Http/Controllers/AuthenticationController.php
2020-11-30 22:42:25 +01:00

40 lines
1.3 KiB
PHP
Executable file

<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Support\Str;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Http\Validation\LoginValidation;
use Illuminate\Support\Facades\Validator;
class AuthenticationController extends Controller
{
public function register(Request $request) {
$user = User::create([
'identifyer' => $request->input('identifyer'),
'password' => bcrypt($request->input('password')),
'api_token' => Str::random(60)
]);
return response()->json($user);
}
public function login(Request $request, LoginValidation $validation) {
$validator = Validator::make($request->all(), $validation->rules(), $validation->messages());
if($validator->fails()){
return response()->json(['errors' => $validator->errors()],401);
}
if(Auth::attempt([
'identifyer' => $request->input('identifyer'),
'password' => $request->input('password')])){
$user = User::where('identifyer',$request->input('identifyer'))->firstOrFail();
return response()->json($user);
} else {
return response()->json(['errors' => 'bad_pwd'],401);
};
}
}