los-auth
Version:
Libreria de autenticacion para las aplicaciones internas de la empresa LOS
156 lines (104 loc) • 4.16 kB
Markdown
## 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.