En la API web de Magento [2.2.4] cuando paso el nombre de usuario y la contraseña , genera un token para ese cliente específico (que solo es válido durante 1 hora; es configurable desde el administrador de Magento)
http://magento.host/index.php/rest/V1/integration/customer/[email protected]&password=test@123
que devuelve el token
Después de generar el token, cuando pasamos ese token en el encabezado.
Autorización :: Portador * Valor del token *
Que devuelve los detalles del cliente.
El caso anterior que expliqué funciona bien para webAPI en magento2 que probé en POSTMAN .
Ahora el caso es,
Cada hora de regeneración de token y después de ese inicio de sesión nuevamente cada hora no es lógico para la aplicación móvil.
Entonces, ¿cómo gestiona Magento los datos de inicio de sesión del usuario y la autenticación en la aplicación móvil, si se desarrolla API según los contratos de servicio?
- ¿Cuánto tiempo debo permitir que existan mis tokens de acceso antes de que caduque en la aplicación móvil?
- No quiero obligar a mis usuarios a volver a autenticarse cada hora en la aplicación móvil.
- Cómo administrar adecuadamente el ciclo de vida del token API OAuth2 para la aplicación móvil.
Hacer cambios en el token de acceso Las horas de vida no serían una solución lógica, ya que la aplicación y la web deberían tener diferentes horas de vida de token
fuente
Respuestas:
Para verificar si hay un token de cliente válido, Magento verifica dos criterios
oauth_token
tablaMagento ejecuta un cron para eliminar los tokens caducados (de por vida en la configuración de administrador) de la tabla (
vendor\magento\module-integration\Cron\CleanExpiredTokens.php
)Solución posible
Espero que esto responda a su pregunta
fuente