API de Magento 2: genera un token de cliente con el ID de cliente

Estás leyendo la publicación: API de Magento 2: genera un token de cliente con el ID de cliente

¡Hola, desarrolladores de Magento! Hoy compartiré un módulo para un archivo . Será útil si está desarrollando una aplicación basada en Magento 2 y desea volver a generar el token del cliente desde el lado del administrador.

En un buen día, uno de mis colegas se me acercó y me preguntó: Estaba trabajando en una aplicación de Android y quería mantener activa la sesión del cliente en función de su actividad. La forma sencilla era aumentar el tiempo de caducidad del token hasta el infinito, pero eso no sería factible desde el punto de vista de la seguridad.

Por lo tanto, decidimos desarrollar una API REST de Magento 2 personalizada, que se puede usar para regenerar el token antes de que caduque para mantener la sesión activa.

En esta publicación, compartiré el módulo completo de la API personalizada y el método para usarlo.

Empecemos 😉

Módulo API personalizado de Magento 2 para generar token de cliente utilizando la identificación del cliente

Creé un módulo REST API que acepta solicitudes posteriores para generar el token del cliente por ID de cliente. Utiliza el token de administrador como autenticación por motivos de seguridad. Simplemente puede seguir los pasos que se proporcionan a continuación para crear el módulo y utilizar la API. Al final, también demostraré el funcionamiento de esta API.

En este módulo, usaremos vendedor_personalizadoapi como un espacio de nombres; puede cambiar los nombres del proveedor y del módulo como desee.

Paso 1: registre el módulo API personalizado

Primero, debemos registrar un módulo personalizado para crear una API en Magento 2. Crear el registro.php y módulo.xml archivos como se indica a continuación.

🔥 Recomendado:  Brandwatch premiado por su estrategia centrada en el cliente

\Magento\Framework\Component\ComponentRegistrar::registrar(

\Magento\Framework\Component\ComponentRegistrar::MÓDULO,

‘Vendor_CustomAPI’,

__DIR__

);

Paso 2: Definir punto final personalizado

Crear un webapi.xml archivo en el directorio para definir el punto final de nuestra API personalizada con el siguiente código:

Paso 3: Cree una interfaz para la solicitud

Ahora, crea el CustomerTokenInterface.php archivo en el directorio con el siguiente código:

espacio de nombres Proveedor\APIPersonalizada\Api\Cliente;

interfaz CustomerTokenInterfaz

{

/**

* @param int $clienteId

* @retorno mixto

*/

función pública getToken($customerId);

}

Paso 4: Configurar la dependencia del módulo

Crear un di.xml archivo en el directorio con el siguiente código:

Paso 5: crea un modelo

Por último, cree un archivo modelo para procesar los datos de la API. Crear CustomerRepository.php en el directorio con el siguiente código:

tokenModelFactory = $tokenModelFactory; } /** * @inheritdoc */ public function getToken($customerId) { $customerToken = $this->tokenModelFactory->create(); return $customerToken->createCustomerToken($customerId)->getToken(); } }

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

dieciséis

17

18

19

20

21

22

23

24

25

26

27

28

29

espacio de nombres Proveedor\APIPersonalizada\Modelo\Api\Cliente;

clase CustomerRepository

{

/**

* @var\Magento\Integration\Model\Oauth\TokenFactory

*/

privado $tokenModelFactory;

/**

* @param\Magento\Integration\Model\Oauth\TokenFactory $tokenModelFactory

*/

función pública __construir(

\Magento\Integración\Modelo\Oauth\TokenFactory $tokenModelFactory)

{

$this->tokenModelFactory = $tokenModelFactory;

}

/**

* @heredadodoc

*/

función pública getToken($customerId)

{

$customerToken = $this->tokenModelFactory->create();

return $customerToken->createCustomerToken($customerId)->getToken();

}

}

¡Voila! Ha creado con éxito una API de Magento 2 personalizada para generar token de cliente utilizando la identificación del cliente.

API personalizada de Magento 2 para generar token de cliente por ID de cliente: estructura, puntos finales y ejemplo

Puede usar esta API personalizada para generar token de cliente por ID de cliente. Utiliza el token de administrador para la autenticación de solicitudes por motivos de seguridad.

Por lo tanto, debe generar el token de administrador en Magento 2 usando la API para usarlo. La estructura completa de la API se proporciona a continuación:

Método: CORREO

URL:

Cuerpo:

Respuesta:

pb2do8k6kbvnar3yfu4ayutgve7k8f6b

pb2do8k6kbvnar3yfu4ayutgve7k8f6b

¡Guau! Obtuvimos con éxito el token del cliente por identificación del cliente 😃

y ahí tienes…

😃

Déjame saber en los comentarios si encuentras útil esta publicación. También puede hacerme ping para obtener ayuda con el desarrollo de la API de Magento 2.

¡Difunde el conocimiento! Comparta esta publicación a través de las redes sociales y otros foros en línea.

¡Adiós! Gracias por estar conmigo hasta el final. 🍀

Servicios de integración de la API de Magento

Conecte su tienda Magento con cualquier herramienta o servicio de terceros y mejore la eficiencia de su negocio.