承接 camara-de-comercio-de-valledupar/laravel-sso-client 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

camara-de-comercio-de-valledupar/laravel-sso-client

最新稳定版本:1.3.3

Composer 安装命令:

composer require camara-de-comercio-de-valledupar/laravel-sso-client

包简介

SSO client package for Laravel receiver applications (Cámara de Comercio de Valledupar)

README 文档

README

SSO client package for Laravel receiver applications for Cámara de Comercio de Valledupar.

Requisitos

  • PHP 8.2+
  • Laravel 11 o Laravel 12
  • Acceso a la base de datos compartida de usuarios de Cámara de Comercio de Valledupar (conexión configurada en la receptora)

Instalación

composer require camara-de-comercio-de-valledupar/laravel-sso-client

# Opcional — publicar config para sobrescribir valores por defecto:
php artisan vendor:publish --tag=sso-config

El Service Provider se registra automáticamente vía package auto-discovery.

Variables de entorno requeridas

Variable Descripción Ejemplo
SSO_SECRET Secret compartido con el lanzador (coordinarlo con el administrador del lanzador)
SSO_LAUNCHER_URL URL base del lanzador https://lanzador.ccvalledupar.org.co
SSO_TOKEN_TTL TTL del token en segundos 60
SSO_REDIRECT_AFTER_LOGIN Ruta destino tras login exitoso /dashboard

Las variables SSO_TOKEN_PARAM (default: token) y SSO_USER_ID_FIELD (default: sub) ya tienen los valores correctos para trabajar con el lanzador. Solo sobreescribir si se cambia la configuración en el lanzador.

Lo que el paquete registra automáticamente

  • Ruta GET /sso/callback (named sso.callback)
  • Middleware alias sso.tokenValidateSsoToken
  • Config sso.* (publicable con tag sso-config)
  • No hay migraciones — la base de datos de usuarios ya es compartida entre el lanzador y las receptoras

Flujo completo

Usuario hace clic en el lanzador
↓
Lanzador genera token (TTL: 60s)
payload: { sub: 42, app: "slug", iat: ..., exp: ... }
↓
Redirect → https://receptora.com/sso/callback?token=xxx
↓
Middleware ValidateSsoToken → valida firma HMAC-SHA256 y expiración
↓
SsoController → User::find(42) en DB compartida
↓
Auth::login($user) → redirect a SSO_REDIRECT_AFTER_LOGIN

Formato del token: base64(json(payload)).hmac_sha256(base64(json(payload)), secret) Son dos partes separadas por punto — no es JWT estándar de tres partes.

Errores comunes

URL recibida Causa Solución
?error=sso_invalid Secret distinto o token malformado Verificar que SSO_SECRET coincide con el del lanzador
?error=sso_failed Token expirado (> 60s) o inválido El usuario debe volver al lanzador y reintentar
?error=sso_user_not_found El ID del payload no existe en la DB Verificar la conexión a la base de datos compartida

统计信息

  • 总下载量: 47
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: proprietary
  • 更新时间: 2026-03-27

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固