UNPKG

los-auth

Version:

Libreria de autenticacion para las aplicaciones internas de la empresa LOS

156 lines (104 loc) 4.16 kB
## LOS-AUTH Librería para uso de módulo o aplicaciones desarrolladas para el sistema de LOS. ### Prerequisitos Es necesario contar con la versión de Angular 5 o posterior. ### Tabla de contenido * [Instalación](#instalación) * [Implementación](#implementación) * [Servicios](#servicios) ### Instalación ```bash npm install --save los-auth ``` ### Implementación En el archivo de `app.module.ts` importaremos el módulo de autenticación de LOS. ```javascript import { LosAuthModule } from 'los-auth'; ``` Y despues lo agregaremos en el bloque de `imports` en `@NgModule` de la siguiente manera: ```javascript @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, LosAuthModule.forRoot() ], providers: [], bootstrap: [AppComponent] }) ``` Ya con esto estarás incorporando los servicios de autenticación e interceptores necesarios la creación de módulos para el sistema LOS ## Servicios ### login(LosLoginModel) : LosAuthResponseModel Para poder realizar un Login es necesario importar `LosAuthService` y `LosLoginModel` en el componente donde se requiera utilizar los servicios. ```javascript import { LosAuthService, LosLoginModel } from 'los-auth'; ``` Hacer instancia en el constructor de `LosAuthService` de la siguiente manera: ```javascript constructor( private authService: LosAuthService ) { } ``` Y para poder realizar un login es necesario realizar las siguientes instrucciones en la función que ejecutará el evento. ```javascript const data: LosLoginModel = { username: 'moises.aleman', password: 'secret', client_id: 'client_id', url: 'http:/url-auth/auth', grant_type: 'password' } this.authService.login(data).subscribe(response => { /* Success */ }, responseError => { /* Error */ }); ``` En caso de que la petición sea exitosa la respuesta sera: ```javascript { "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTUxMiJ9.eyJpZCI6IjE0MjUiLCJ1c2VybmFtZSI6IjYwMDYxNCIsInVzZXJkb21haW4iOiJtb2lzZXMuYWxlbWFuIiwidXNlcnNhcCI6Im1hbGVtYW4iLCJuYW1lIjoiTW9pc2VzIEFsYmVydG8iLCJsYXN0bmFtZSI6IkFsZW1hbiBNYWNpYXMiLCJza2luIjoiYmctaW5kaWdvIiwicGVyc29uIjoie1wiSURcIjoxNTAxMyxcIk5hbWVcIjpcIk1vaXNlcyBBbGJlcnRvXCIsXCJMYXN0TmFtZVwiOlwiQWxlbWFuIE1hY2lhc1wiLFwiQmlydGhkYXlcIjpcIjE5OTItMDEtMjBUMDA6MDA6MDBcIixcIkdlbmRlcl.806qA2bcwuZPxmvRHrnNjIkS1XLzc3x9Poz_3YWrB9Q6hwoll9_PHbwQHNKqWJglm79BxN82nZeVSf68CVbaYA", "token_type": "bearer", "expires_in": 43199, "id": "1425", "username": "", "audience": "cc73800ebd6544d2aec59ca41", "person": "", "roles": "", "salas": "", "user_applications": "", ".issued": "Tue, 09 Jan 2018 00:25:36 GMT", ".expires": "Tue, 09 Jan 2018 12:25:36 GMT" } ``` ### logout(): Boolean Podrás realizar un logout mediante el método disponible en el servicio de LosAuthService. ### isLogged(): Boolean Verifica si el usuario está loggeado. ### getUserActive(): LosAuthModel Obtiene el usuario que está activo en ese momento (usuario que realizo login previamente). ### getToken(): String Obtiene el string del token. ### getUserRoles(): String[] Obtiene todos los roles del usuario. ### hasPermission(String[]): Boolean Valida si los roles enviados en arreglo están en los roles del usuario. ### getUserApplications(): String[] Obtiene todas las aplicaciones que tiene acceso el usuario. ### changePassword(LosChangePassword): Any Cambia la contraseña del usuario actual. ### switchSkinTheme(String): Any Cambia el skin por defecto del usuario. ### getUserSkin(): String Obtiene el skin del usuario. ### getUserRooms(): String[] Obtiene todas las salas que tiene asignadas el usuario. ### getUserRoomDefault(): String Obtiene la sala defecto del usuario. ### setRoomActive(String): Boolean Setea en navegador la sala activa que seleccionó del listado el usuario. ### getRoomActive(): String Obtiene la sala activa que está seteada en el navegador.