1. Go to this page and download the library: Download kuantaz/sso-client library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use Mds\SsoClient\Sso;
// Asignar múltiples roles
$roles = [1, 2]; // Admin y Revisor
$resultado = Sso::setAsignarRoles('12345678-9', $roles);
// Listar roles de usuario
$rolesUsuario = Sso::listarRolesUsuario('12345678-9');
if ($rolesUsuario->estado === 'ok') {
foreach ($rolesUsuario->usuario->Roles->Rol as $rol) {
echo "Rol: " . $rol->Nombre . "\n";
}
}
use Mds\SsoClient\Sso;
// Sin facade - útil para testing o uso fuera de Laravel
$usuario = Sso::getUsuario('12345678-9');
$resultado = Sso::eliminarUsuario('98765432-1');
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Mds\SsoClient\Sso;
use App\Models\User;
use Auth;
class AuthController extends Controller
{
public function login(Request $request)
{
$rut = $request->input('rut');
$usuario = Sso::getUsuario($rut);
if ($usuario->estado === 'ok') {
$rut = $response->autorizar->Usuario->RUT;
$runData = explode("-", $rut);
$usuario = User::with('roles')->where('rut_numero', $runData[0])->first();
// Crear sesión local
$token = Auth::guard('web')->fromUser($usuario);
return redirect()->route('dashboard');
}
return back()->withErrors(['rut' => 'Usuario no encontrado en SSO']);
}
}
Sso::setCrearUsuario(
string $rut, // RUT del usuario (ej: '12345678-9')
string $nombre, // Nombre completo
string $correo, // Email válido
string $clave, // Contraseña
bool $habilitado = true // Estado del usuario
): object
$respuesta = (object) [
'estado' => 'ok',
'estado_msg' => 'Operación exitosa',
'usuario' => (object) [
// Datos específicos según la operación
'Usuarios' => [...],
'Cantidad' => 1
]
];
// Estados de respuesta
Sso::SSO_CODIGO_ESTADO_OK // 1 - Operación exitosa
Sso::SSO_CODIGO_ESTADO_ERROR // 0 - Error en operación
Sso::SSO_CODIGO_ESTADO_ADVERTENCIA // 2 - Advertencia
// Mensajes de error
Sso::ERROR_SSO_WSDL // Error de configuración WSDL
Sso::ERROR_SSO_AID // Error de Application ID
Sso::ERROR_RUT_REQUERIDO // RUT no proporcionado
// ... más constantes disponibles
use Mds\SsoClient\Sso;
use PHPUnit\Framework\TestCase;
class SsoTest extends TestCase
{
public function test_can_validate_user()
{
$result = Sso::getUsuario('12345678-9');
$this->assertIsObject($result);
$this->assertObjectHasAttribute('estado', $result);
}
}