Implementación de token por Autenticación en Laravel Parte 2

by | Jun 21, 2019 | Laravel

La semana anterior vimos cómo generar un token al iniciar sesión, esta semana veremos como implementar seguridad y crear usuarios  utilizando el token generado al iniciar sesión.

public function  create(Request $request){   
  $data = $request->json()->all();

 // acceder al toke que estamos recibiendo desde los headers         
  $token = $request->header('Authorization');
// verificar que ese toke pertenezca al usuario con el que se inició sesión         
$user = Usuarios::where('api_token',$token)->first(); 


// validar, para verificar si el token pertenece a ese usuario entonces dará permiso para insertar otro usuario      
   if($token) {             
if($user){                

 $consult = Usuarios::where('correo', '=', $data['correo'])->get();             
    if (count($consult) == 0) {                  
   $create = new Usuarios();                    
   $create->nombre = $data['nombre'];                    
   $create->correo = $data['correo'];                     
   $create->contraseña = Hash::make($data['contraseña']);                     
   $create->empresa = $data['empresa'];                    
   $create->telefono = $data['telefono'];                     
   $create->rol = $data['rol'];                     
   $create->save();                    

   $array = array(                         
                 "id" => $create->id,                        
                 "nombre" => $create->nombre,                        
                 "correo" => $create->correo,                        
                 "contraseña" => $create->contraseña,                        
                 "empresa" => $create->empresa,                         
                 "telefono" => $create->telefono,                         
                 "rol" => $create->rol         
                       );                    
 return response()->json($array, 201);               

  } else {      
               return response()->json(['error' => 'el correo ya existe'], 401, []);                 
}             }else{                
                      return response()->json(['error' => 'token equivocado'], 401, []);             
                                     }         

}   else{              
                   return response()->json(['error' => 'Unauthorized'], 401, []);        
                    } }

Ejemplo en postman:

1.- iniciamos sesión tomamos el token generado, entramos al Resquest de create y en los headers pegamos el token

2.- vamos al apartado body e insertamos un nuevo usuario, si el token es correcto entonces procederá a crearlo de lo contrario no se hará ese inserción

Entradas relacionadas

Descubre en 5 minutos las áreas de tu empresa puedes mejorar