Estoy usando el sistema de autenticación Laravel 5.2 con este comando:

php artisan make:auth

Aunque esto funciona totalmente bien tal como está, mi objetivo es usar una API externa para realizar el inicio de sesión, registrar y cambiar la contraseña sin dejar de poder usar la función principal de la clase Auth.

Entonces, tomando el inicio de sesión, por ejemplo, quiero usar algo como

function login(ApiController $api) {
     // This function return data or error code and message in JSON
     $login = $api->login([ $credentials['email'], $credentials['password']]);
     if($login->success) 
       // login successfully like normal Auth would do
     else 
       // redirect to main page with $login->message
}

Por cierto, quiero pasar los campos que vienen de $ login a la clase Auth, como si realmente pudiéramos hacer Auth :: user () -> email dándonos el correo electrónico, me gustaría establecer un valor como "campo de base de datos" pero con mis campos API JSON detrás

Busqué en Internet y encontré algo que hacer dentro de AuthController y algo relacionado con ServiceProvider, pero no sé cómo seguir mis necesidades exactas

3
Plotisateur 15 dic. 2016 a las 03:49

2 respuestas

La mejor respuesta

Terminé codificando mi propio sistema de autenticación ...

Usando session () y Input ()

1
Plotisateur 17 dic. 2016 a las 17:26

Agregar un proveedor de usuario personalizado ayudaría en este caso. No es necesario jugar con AuthController aquí. Consulta esta página de Laravel Docs.

Deberá crear un nuevo proveedor de usuarios que implemente Illuminate \ Contracts \ Auth \ UserProvider, especifícalo en AuthServiceProvider y actualiza tu archivo auth config en consecuencia.

Aquí están los enlaces a los proveedores de usuarios predeterminados del marco como referencia:

1) DatabaseUserProvider

2) EloquentUserProvider

4
Gaurav 15 dic. 2016 a las 02:55