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.
Necesitarás un client_id y un client_secret para identificar tu aplicación.
https://tu-app.com/callback).client_secret en un lugar seguro (variables de entorno).Sigue el flujo estándar de OAuth 2.0 para obtener un token de acceso.
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
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
}
Obtén los datos del usuario autenticado enviando el token en el header Authorization.
curl -H "Authorization: Bearer EL_ACCESS_TOKEN" \
https://accounts.mediosconvalor.com/userinfo
{
"sub": "vLp...", // UID único del usuario
"name": "Juan Pérez",
"email": "juan@mediosconvalor.com",
"email_verified": true,
"picture": "https://...",
"role": "owner" // Claim personalizado MCV
}
Al usar estándares, puedes usar cualquier librería de cliente OAuth 2.0 / OIDC.
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'
]);
passport-oauth2