Resumen
En resumen, el proyecto es un estudio e implementar una arquitectura de referencia que unifique el sistema de autenticación y autorización en React y React Native usando un back-end implementado con API GraphQL. El sistema incluye flujos de inicio de sesión, registro, gestión de contraseña y sesiones, e inicio de sesión mediante proveedores OAuth (Google, Facebook y LinkedIn). Para ello, en primer lugar, se ha realizado un informe en el cual se especifica los requisitos tanto funcionales como no funcionales que tendrá que cumplir el módulo y un estudio sobre las tecnologías que se ha utilizado para conseguir la implementación. A continuación, se ha logrado efectuar diseños tanto de alto nivel como de bajo nivel, empleando diagramas UML (secuenciales, caso de uso) que ayuden a comprender los flujos no visuales de autentificación y autorización. En cuanto a la implementación, se llevará a cabo documentaciones necesarias para poder emplear como código de referencia. Finalmente, se someterá a tests unitarios, integración y E2E para pruebas y validación del código en cuanto a las funcionalidades.---ABSTRACT---The project consists of the research and implementation of a reference architecture, which unifies the authentication and authorization system in React and React Native by using the back end of API GraphQL implementation. The system includes login, registration, password, and session management processes, as well as login through OAuth vendors (Google, Facebook and LinkedIn). Firstly, a report should be prepared detailing the functional and non-functional requirements that the module will meet, and the technologies used to realize the module should be studied. Then, it is possible to carry out both high-level and low-level designs, using UML diagrams (sequential, use case) that help understand the non-visual flows of authentication and authorization. Regarding the implementation, the necessary documentation will be made so that it can be used as a reference code. Finally, it will be subjected to unit tests, integration, and E2E for tests and validation of the code in terms of functionality.