Package: django-oasis4-auth
EnglishMódulo de autenticación OASIS4 para DJANGO©Este módulo permite a DJANGO© interactuar con OASIS4 y realizar acciones como el registro de usuario y su autenticacíón, utilizando un sistema de dos pasos.El módulo ofrece tres (3) servicios API para el registro de los usuarios, ingreso al sistema y validación del código de autorización.Versiones1.1.0: Se elimina la dependencia del paquete zibanu.django.auth para el manejo de las señales. Depende de la versión 1.2.0 de zibanu-django.1.0.7: Incorpora una tarea para la sincronización de los usuarios desde la tabla origen en OASIS4.1.0.5: Corrige un bug que se presentaba con la autenticación anónima derivada de la actualización de librerías.1.0.4: Corrige un bug que creaba el usuario en la tabla de usuarios ignorando el segundo nombre y apellido.APIsRegistroAcceso al sistemaValidación del códigoRegistroEsta API permite realizar el proceso de registro de usuarios. El sistema valida el correo electrónico y el número
del documento de identificación del usuario contra los datos que existen en la base de datos deOASIS4©.El API se accede a través de https:////register/ y recibe como parte de la solicitud HTTP un set
de datos en formato JSON con los parámetros requeridos para su funcionamiento.Parámetroscustomer_id: Número de identificación del clienteemail: Correo electrónico, debe ser el registrado enOASIS4©.password: El password asignado por el usuario en la forma de registro online.RetornaEl API retorna un objeto Response con el estado HTTP 200 si no existen errores y un objeto JSON.customer_data={"first_name":"","last_name":"","location":"","address":"","phone":0,"mobile":0,"email":"","customer_id":0,"document_type":0,"is_valid":True,"type":0}data_return={"token":"asdasdas","data":customer_data}Objeto customer_datafirst_name: Nombre o nombres del usuario registrado en la baseOASIS4©.last_name: Apellidos registrados en la base de datosOASIS4©.location: Nombre de la ciudad registrada en la base de datosOASIS4©.address: Dirección registrada en la base de datosOASIS4©.phone: Número telefónico registrado en la base de datosOASIS4©.mobile: Número celular registrado en la base de datosOASIS4©.email: Correo electrónico registrado en la base de datosOASIS4©.customer_id: Documento de identificación registrado en la base de datosOASIS4©.document_type: Tipo de documento registrado en la base de datosOASIS4©.is_valid: Indica si el usuario se encuentra válido en la base de datosOASIS4©.type: Código del tipo de usuario asociado.0: Sin relación1: Cliente2: AsociadoJSON data_returnDiccionario de datos que se retorna a través del objeto Response HTTP.token: Token utilizado para la validación del segundo paso de autenticacióndata: Objeto que contiene losdatos básicos del clienteLoginEste API realiza el proceso de autenticación de los usuarios a través de los parámetros "email" y "password". En caso de
que la autenticación sea exitosa, envía el código para el segundo paso de la autenticación.El API se expone a través de https:////login/ y recibe en formato JSON los siguientes parémtros.Parámetrosemail: Correo electrónico del usuario, previamente registrado, para la autenticación.password: Clave del usuarioRetornaEl API retorna un objetoResponse HTTPcon estado 200 si no existen errores y un objeto JSON.data_return={"token":"asdkjahs"}JSONdata_returnObjetoJSONque se envía a través del Response HTTP.token: Clave token para validar el código de autorización en el segundo paso.ValidateEste API realiza el proceso de autenticación con el token y el código de autorización enviado al correo electrónico.El API se accede a travésde https:////validate/ y recibe un objeto JSON con los parámetros requeridos.Parámetrostoken: Clave token enviada desde elloginoregistercode: Código de autorización enviado al correo electrónico.RetornaEl API genera un objeto Response basado en la acción originaria y asociada al token. Si es exitoso el procdeso retorna
un estado HTTP 200.Registro: El API solamente retorna el estadoAcceso (Login): El API retorna el estado y un objeto JSON.data_return={"token":"asdaskjhiuuh","payload":{},"user":{"full_name":"","document_id":0,"type":""}}token: Java Web Token generado a partir de la autenticacion HTTP.payload: Carga de datos del JWT.user: Objeto con los datos básicos del usuario.full_name: Nombre completo del usuariodocument_id: Número del documento de identificacióntype: Descriptivo del tipo de relación que contiene el cliente con la entidad.SpanishOASIS4 Authentication Package for DJANGO©This package allow to DJANGO© interact withOASIS4©and make actions like register and authenticate users for login, with a two steps authentication system.The package offers three API Endpoints for user registration, login user and authenticate code validation.Versions1.0.7: Include a task to syn users from OASIS4 entity.1.0.5: Fix a bug with anonymous authentication on login after upgrade libraries.1.0.4: Fix a bug that create the username ignoring second name and first last name.EndpointsRegisterLoginValidateRegisterThis endpoint make a user registration process, validating the email and document id withOASIS4databaseThe endpoint is https:////register/ and receive a json body with somerequired parameters.Parameterscustomer_id: identification number registered atOASIS4©database for validation purposes.email: email previously registered atOASIS4&copydatabase.password: password entered by user in the registration form.ReturnThe endpoint returns a response withHTTP Status 200if ok and json body.customer_data={"first_name":"","last_name":"","location":"","address":"","phone":0,"mobile":0,"email":"","customer_id":0,"document_type":0,"is_valid":True,"type":0}data_return={"token":"asdasdas","data":customer_data}customer_dataobject:Set of features that represent a customer or partner.first_name: First name registered inOASIS4©database.last_name: Last name registered inOASIS4©database.location: City registered inOASIS4©database.address: Address registered inOASIS4©database.phone: Phone number registered inOASIS4©database.mobile: Mobile phone number registered inOASIS4©database.email: Email registered inOASIS4©database.customer_id: ID number registered inOASIS4©database.document_type: Document type fromOASIS4©database.is_valid: True if user is valid, otherwise False.type: User type in system:0 -> Not relationship with company.1 -> Customer relationship.2 -> Partner relationship.data_returnJSONSet of values to be returned through HTTP Response.token: Token to validate code at second pass authenticate.data:Customer data objectLoginThis endpoint make a login authentication for users, and send an email with authorization code for second step authentication.The endpoint is https:////login/ and receive a json body withrequired parameters:Parametersemail: Email registered at system to authenticate.password: User passwordReturnThe endpoint returns a response object withHTTP Status 200if ok and json body.data_return={"token":"asdkjahs"}data_returndictSet of values to be returned through HTTP Response.token: Token to validate second step authorization code.ValidateThis endpoint performs the authentication with the token and the authorization code sent to the email.The endpoint is https:////validate/ and receive a json body withrequired parameters:Parameterstoken: Token received fromloginorregisterendpoints.code: Authentication code received via email.ReturnThe endpoint return a Response based on the action that originates it withHTTP Status 200if ok.Register Action: The endpoint return only status code.Login Action: The endpoint return status code (200) and json body.data_return={"token":str(token_data.access_token),"payload":token_data.payload,"user":{"full_name":self.__data.get_full_name(),"document_id":self.__data.profile.document_id,"type":self.__data.profile.type}}data_returndictSet of values to be return via HTTP Response.token: Java Web Token to authenticate HTTP Requests.payload: Java Web Token payload.user: Basic user informationfull_name: User full namedocument_id: Document id of usertype: Descriptive user type