# Angular Opileak OAuth

Modulo para conectarse con el servidor de "oauth" de OTB.


## Instalar el modulo

Para instalar el modulo con npm usar el siguiente comando

```
npm install --save angular-opileak-oauth
```

Para sistemas que no funciones con npm, se puede usar unpkg, un CDN para paquetes de npm. Simplemente añade este script

```html
<script src="https://unpkg.com/angular-opileak-oauth@latest">
```

El nombre del modulo estara disponible en la variable `window.opkOAuth`

Este modulo tiene las siguientes dependencias

* angular
* lodash
* angular-ui-router

Estas dependencias deben ser incluidas en el proyecto aparte, instalar este modulo no instala estas dependencias


## Usar el modulo

Para ver un ejemplo de proyecto con este modulo consultar http://gitlab.dinamicarea.es/proyectos-internos/user-panel

`angular-opileak-oauth` provee dos servicios:

  * `OAuthUserService`
  * `tokenService`


Los metodos mas importantes de `OAuthUserService` son:

  * `OAuthUserService.login()`
  * `OAuthUserService.logout()`


Los metodos mas importantes de `tokenService` son:

  * `tokenService.getToken()`
  * `tokenService.setToken("incluir token aqui")`


Para usar el modulo es necesario seguir una serie de pasos

* En primer lugar debes añadir angular-opileak-oauth a tu proyecto de angular

```
var oauthModuleName = require("angular-opileak-oauth")

angular.module("miAplicacion", [ oauthModuleName , ... ])
...
```

* En segundo lugar debes proporcionar la configuracion de los roles de usuario

```javascript

angular.module("miAplicacion").config(rolesConfig)

function rolesConfig(oauthConfigProvider) {
  oauthConfigProvider.configure({
    CLIENT_ID: "",
    user_roles: {
      USER: "",
      ADMIN: ""
	},
	user_redirects: {
	  USER: "",
	  ADMIN: ""
	},
	no_role_redirect: "",
	loginState: ""
  })
}

rolesConfig.$inject = ["oauthConfigProvider"]

```

