es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Elixir/Phoenix: implementar autenticación sin base de datos

Tengo la intención de utilizar Elixir y Phoenix LiveView para desarrollar una aplicación únicamente de frontend. Mi aplicación en Elixir consumirá una API REST externa. Esta API tiene un endpoint /login que devuelve la información del usuario actual y un token de portador que se puede usar para acceder a los demás endpoints.

Mi intento inicial fue utilizar la solución phx.gen.auth, pero esta utiliza tablas de base de datos. ¿Qué estrategia sería adecuada para mi caso de uso?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Dado que no tienes planes de utilizar una base de datos para tu aplicación, phx.gen.auth puede que no sea la mejor solución para tu caso de uso. En su lugar, puedes crear una solución de autenticación personalizada que se conecte al endpoint /login de la API REST externa y utilice el token de acceso devuelto para las solicitudes posteriores a la API.

    Puedes crear un módulo que maneje el proceso de autenticación realizando una solicitud POST al endpoint /login, analizando la respuesta en busca del token de acceso y almacenándolo en la sesión. También puedes crear una función para recuperar la información del usuario utilizando el token de acceso almacenado.

    Para asegurar la aplicación, utiliza bibliotecas de plugins como Guardian para gestionar la autenticación y la expiración de sesión. Esto garantizará que el usuario esté autenticado en cada solicitud y que la sesión sea válida.

    En general, desarrollar una solución de autenticación personalizada que se conecte a una API REST externa es una estrategia viable para tu caso de uso.

Comments are closed.