Hola, estuve buscando en la documentación de la librería [1], pero no encuentro como expandir el tema de la autenticación a los servicios REST (con digest funciona bien). Lo que necesito es permitir accesos a ciertas rutas según el usuario. Estoy trabajando con un proyecto de Toba, no con la libreria standalone.
la libreria que usamos para servir rest tiene la posibilidad de que se le inyecten instancias de otras clases, con lo cual lo que podrias hacer es invocar lo siguiente y fijarle una instancia de la clase que quieras para que autentique.
rest::app()->set_autenticador(new clase())
Dicha clase solo debe extender SIUToba\rest\seguridad\proveedor_autenticacion e implementar algun metodo que falte o difiera.
Lo que necesito es permitir accesos a ciertas rutas según el usuario. Estoy trabajando con un proyecto de Toba, no con la libreria standalone.
Lo que necesitas entonces es un autorizador, el usuario esta autenticado… luego vos debes decidir si puede o no acceder a un recurso puntual, el mecanismo es similar al que te expuse anteriormente pero tenes que extender de la clase proveedor_autorizacion.
De todas maneras tene en cuenta que los usuarios de la api rest no necesariamente van a coincidir con los de Toba, por lo tanto aplicar una especie de perfil funcional sobre eso, va a requerir info aparte.
Genial! pude hacerlo funcionar. Comparto la solución:
Cree un archivo que extiende de SIUToba\rest\seguridad\proveedor_autorizacion
<?php
class proveedor_autorizacion_unlu extends \SIUToba\rest\seguridad\proveedor_autorizacion
{
public function tiene_acceso($usuario, $ruta){
return true;
}
}