Exemple #1
0
        public Dictionary <string, Object> authenticateUser(Usuario user)
        {
            Usuario    usuario = null;
            var        token   = "";
            var        dic     = new Dictionary <string, object>();
            var        claims  = new List <Claim>();
            UsuarioDAO userDAO = new UsuarioDAO();

            usuario = userDAO.GetUsuario(user.usuario, user.password);
            var roles = userDAO.getUsuarioRoles(usuario.id);

            foreach (Rol rol in roles)
            {
                claims.Add(new Claim(ClaimTypes.Role, rol.identificador));
            }
            if (!PasswordHasher.Verify(user.password, usuario.password))
            {
                throw new PasswordMismatchException("La contraseña es incorrecta");
            }
            usuario.password = "******";
            token            = JWT.createToken(usuario, claims);
            dic.Add("usuario", usuario);
            dic.Add("token", token);
            dic.Add("roles", roles);
            return(dic);
        }