Saltar al contenido

Registro de usuario con Laravel Passport

Esta es el arreglo más acertada que te podemos compartir, pero obsérvala pausadamente y analiza si es compatible a tu trabajo.

Solución:

En tu API crea una ruta como

Route::post('register','Api[email protected]');

Y en el método de creación de UsersController create()

function create(Request $request)
string

Y después de crear un nuevo usuario, devuelva el token de acceso.

Y después de un año, descubrí cómo implementar el ciclo completo.

El método @Nileshsinh muestra el ciclo de registro.

Y aquí están las partes del token de inicio de sesión y actualización:

Route::post('auth/token', 'Api[email protected]');
Route::post('auth/refresh', 'Api[email protected]');

Métodos:

class AuthController extends Controller

    private $client;

    /**
     * DefaultController constructor.
     */
    public function __construct()
    
        $this->client = DB::table('oauth_clients')->where('id', 1)->first();
    

    /**
     * @param Request $request
     * @return mixed
     */
    protected function authenticate(Request $request)
    
        $request->request->add([
            'grant_type' => 'password',
            'username' => $request->email,
            'password' => $request->password,
            'client_id' => $this->client->id,
            'client_secret' => $this->client->secret,
            'scope' => ''
        ]);

        $proxy = Request::create(
            'oauth/token',
            'POST'
        );

        return Route::dispatch($proxy);
    

    /**
     * @param Request $request
     * @return mixed
     */
    protected function refreshToken(Request $request)
    
        $request->request->add([
            'grant_type' => 'refresh_token',
            'refresh_token' => $request->refresh_token,
            'client_id' => $this->client->id,
            'client_secret' => $this->client->secret,
            'scope' => ''
        ]);

        $proxy = Request::create(
            'oauth/token',
            'POST'
        );

        return Route::dispatch($proxy);
    

Al leer esto mientras Laravel 6 se implementó recientemente, mi solución para esto es la siguiente.

Cuando haya seguido los pasos definidos en la documentación del pasaporte de Laravel y haya agregado el HasApiTokens rasgo a la User modelo, puede llamar a un createToken función en sus entidades de usuario.

También, en tu RegisterController hay una registered función de la RegistersUsers rasgo que puede implementar que se llama cuando un usuario se registra con éxito. Entonces podría implementar esto de la siguiente manera:

protected function registered(Request $request, User $user)

    $token = $user->createToken('tokenName');

    return response()->json([
        'user' => $user,
        'token' => $token->accessToken,
    ]);

Ver el register función en el RegistersUsers rasgo para obtener más información sobre el ciclo de registro ..

Aquí tienes las comentarios y puntuaciones

Te invitamos a añadir valor a nuestro contenido colaborando tu veteranía en las acotaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *