Skip to content

WeedAuth

Samuel edited this page Apr 27, 2016 · 2 revisions

Servicio para autenticación de Weed.

JWT Auth

JWT Auth, es un servicio para facilitar la autenticación a un endpoint basado en JSON WEB TOKENS [JWT Doc] (https://jwt.io/).

Set Up

(function(angular){
  'use strict';
  angular
    .module('testModule', ['weed.auth'])
    .controller('testController', testCtrl);
    
    // El propósito de esta función es que habilitar al interceptor, para que pueda capturar los request HTTP.
    // No es necesario que haga ni un cambio en esta función.   
    function weedConfig($httpProvider){
      $httpProvider.interceptors.push('weedJWTInterceptor');
    }
    

    // Esta función es la que hace la configuración inicial de la API con el paquete. 
    function weedRun(weedJWTAuthService){
      weedJWTAuthService.addNewApi({
        id: 'finance',
        url: 'http://127.0.0.1:8000',
        autoRefresh: {
          enabled: true,
          timeDelta: 290
        }
      });
    }
})(angular);

Parámetros de configuración:

  • id: id es el nombre que uno le quiere asignar a la API. Este valor tiene que ser único en el módulo.
  • url dirección base de la API.
  • authoRefresh.enable (default true) habilita que el token se refresque de forma automática. Es importante recordar que si el usuario no manda una solicitud, el token no se refrescará.
  • autoRefresh.timeDelta indica un valor en segundos contra los cuales se evaluará si es necesario realizar el refresco automático del token de autenticación.

Login

Autentica a un usuario contra el API indicado, usando el protocolo JWT.

controller.login = function(){
  var r = weedJWTAuthService.login(
    'finance',
    {
      username: 'root',
      password: 'root'
    }
  );

  r.error(function(d){
    // Código para manejar un error
  }).success(function(d){
    // Código para manejar la autenticación correcta
  });
}

Pramaetros:

  • strRoute: Recibe ruta del endpoint donde se encuentra el servicio de login en el REST API.
  • objectData: Es un objeto con keys necesarios para la autenticación, según requerimiento del endpoint.

Logout

Elimina el JWT causando que el usuario pierda su identidad.

weedAuthService.logout('apiId');

isAuth

Revisa si usuario esta autenticado.

weedAuthService.isAuthenticated('apiId');

getUser

Obtiene los Datos devueltos por el servicio de Login. Se espera que Login provea los datos básicos del usuario.

weedAuthService.getUser('apiId');

Clone this wiki locally