Skip to content

Instantly share code, notes, and snippets.

@silkyland
Last active February 20, 2021 11:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save silkyland/8a8bf0452ec822d52a8eebdc495e5c22 to your computer and use it in GitHub Desktop.
Save silkyland/8a8bf0452ec822d52a8eebdc495e5c22 to your computer and use it in GitHub Desktop.
Api Authentication
<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Validation\ValidationException;
class AuthController extends Controller
{
public function me(Request $request)
{
return $request->user();
}
public function apiLogin(Request $request)
{
$request->validate([
'email' => 'required|email',
'password' => 'required',
]);
$user = User::where('email', $request->email)->first();
if (!$user || !Hash::check($request->password, $user->password)) {
throw ValidationException::withMessages([
'email' => ['The provided credentials are incorrect.'],
]);
}
return $user->createToken("token")->plainTextToken;
}
public function apiRegister(Request $request)
{
$request->validate([
'name' => "required",
'email' => "required|email",
'password' => "required|confirmed|min:4",
]);
$user = new User();
$user->name = $request->input("name");
$user->email = $request->input("email");
$user->password = Hash::make($request->input('password'));
$user->save();
return response()->json($user);
}
public function apiLogout(Request $request)
{
$request->user()->tokens()->delete();
return response()->json(['message' => "You are logout successfuly !"]);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment