Untitled

 avatar
unknown
plain_text
2 years ago
1.6 kB
4
Indexable
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\User;
use Illuminate\Validation\Rules\Password;
use Illuminate\Support\Facades\Auth;

class AuthController extends Controller
{
    public function register(Request $request){
        $data = $request->validate([
            'name' => ['required','string','unique:users,name'],
            'password' => [
                'required',
                'confirmed',
                Password::min(8)->numbers()
            ]
            ]);

        $user = User::create([
            'name'=>$data['name'],
            'password'=> $data['password']
        ]);

        $token = $user->createToken('main')->plainTextToken;

        return response([
            'user' => $user,
            'token' => $token
        ]);
    }

    public function login(Request $request){
        $credentials = $request->validate([
            'name' => ['required','string','exists:users,name'],
            'password' => ['required'],
            'remember' => ['boolean']
        ]);
        $remember = $credentials['remember'] ?? false;
        unset($credentials['remember']);

        //$credentials['password'] = bcrypt($credentials['password']);
        if (!Auth::attempt($credentials, $remember)){
            return response([
                'error' => "Los datos introducidos no son válidos"
            ], 422);
        }
        $user = Auth::user();
        $token = $user->createToken('main')->plainTextToken;

        return response([
            'user' => $user,
            'token' => $token
        ]);
    }
}
Editor is loading...