Login con MCV

Integra el sistema de autenticación centralizado de Medios con Valor en tus aplicaciones. Nuestra plataforma es compatible con OpenID Connect (OIDC) y OAuth 2.0, lo que significa que puedes usar las mismas librerías que usarías para "Login con Google".

Estándar Abierto: Apunta tu cliente OIDC a nuestros endpoints.

1. Registrar tu Aplicación

Necesitarás un client_id y un client_secret para identificar tu aplicación.

  1. Inicia sesión con una cuenta autorizada (Owner / IT Manager).
  2. Ve a la sección "Administración" > "Mis Aplicaciones" en el Dashboard.
  3. Haz clic en "Crear Nueva App".
  4. Define un nombre y las Redirect URIs (ej: https://tu-app.com/callback).
  5. Guarda el client_secret en un lugar seguro (variables de entorno).

2. Flujo Authorization Code

Sigue el flujo estándar de OAuth 2.0 para obtener un token de acceso.

A. Autorización GET /authorize

Redirige al usuario:

https://accounts.mediosconvalor.com/authorize?
  response_type=code
  &client_id=TU_CLIENT_ID
  &redirect_uri=https://tu-app.com/callback
  &scope=openid profile email
  &state=CSRF_TOKEN
B. Token Exchange POST /token

Intercambia el code por un token:

curl -X POST https://accounts.mediosconvalor.com/token \
  -d "grant_type=authorization_code" \
  -d "code=EL_CODIGO_RECIBIDO" \
  -d "client_id=TU_CLIENT_ID" \
  -d "client_secret=TU_CLIENT_SECRET" \
  -d "redirect_uri=https://tu-app.com/callback"

Respuesta exitosa:

{
  "access_token": "eyJhbGci...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scope": "openid profile email",
  "id_token": "eyJhbGci..." // Próximamente
}

3. UserInfo Endpoint

Obtén los datos del usuario autenticado enviando el token en el header Authorization.

Request GET /userinfo
curl -H "Authorization: Bearer EL_ACCESS_TOKEN" \
  https://accounts.mediosconvalor.com/userinfo
Response (OIDC Compliant)
{
  "sub": "vLp...",                    // UID único del usuario
  "name": "Juan Pérez",
  "email": "juan@mediosconvalor.com",
  "email_verified": true,
  "picture": "https://...",
  "role": "owner"                     // Claim personalizado MCV
}

Librerías Compatibles

Al usar estándares, puedes usar cualquier librería de cliente OAuth 2.0 / OIDC.

PHP

league/oauth2-client

$provider = new \League\OAuth2\Client\Provider\GenericProvider([
    'clientId'                => 'TU_ID',
    'clientSecret'            => 'TU_SECRET',
    'redirectUri'             => 'https://...',
    'urlAuthorize'            => 'https://accounts.mediosconvalor.com/authorize',
    'urlAccessToken'          => 'https://accounts.mediosconvalor.com/token',
    'urlResourceOwnerDetails' => 'https://accounts.mediosconvalor.com/userinfo'
]);

Node.js

passport-oauth2