Dale a tus jugadores una sola cuenta segura en todo el ecosistema de MU Online. TuServerMU es un proveedor estándar de OpenID Connect, así que puedes usar cualquier librería cliente OIDC/OAuth2 común - nunca más contraseñas en texto plano en tu MEMB_INFO.
Inicia sesión y abre Cuenta → Apps OAuth. Crea una app y define tu(s) URI(s) de redirección (a dónde devolvemos a los usuarios tras aprobar):
Recibirás un client_id (y, para apps confidenciales, un client_secret que se muestra una sola vez).
Apunta tu librería al documento de discovery y se configura sola:
https://sso.tuservermu.com/.well-known/openid-configuration
| Issuer | https://sso.tuservermu.com |
| Authorization | https://sso.tuservermu.com/oauth/authorize |
| Token | https://sso.tuservermu.com/oauth/token |
| UserInfo | https://sso.tuservermu.com/oauth/userinfo |
| JWKS | https://sso.tuservermu.com/.well-known/jwks.json |
Scopes: openid profile email - openid devuelve el id_token firmado; profile y email desbloquean esos claims.
Redirige al usuario al endpoint de autorización:
https://sso.tuservermu.com/oauth/authorize?response_type=code &client_id=YOUR_CLIENT_ID &redirect_uri=https://your-server.com/callback &scope=openid%20profile%20email &state=RANDOM &nonce=RANDOM &code_challenge=BASE64URL_SHA256(verifier) &code_challenge_method=S256
Tras aprobar, redirigimos de vuelta a redirect_uri?code=...&state=.... Intercambia el código:
curl -X POST https://sso.tuservermu.com/oauth/token \ -d grant_type=authorization_code \ -d client_id=YOUR_CLIENT_ID \ -d client_secret=YOUR_SECRET # omit for public/PKCE clients \ -d redirect_uri=https://your-server.com/callback \ -d code=THE_CODE \ -d code_verifier=THE_VERIFIER
La respuesta incluye un access_token, un refresh_token y - cuando se pidió openid - un id_token firmado (RS256). Verifica la firma del id_token con el JWKS, y comprueba iss, aud y el nonce que enviaste.
Decodifica el id_token, o llama a UserInfo con el access token:
curl https://sso.tuservermu.com/oauth/userinfo \ -H "Authorization: Bearer ACCESS_TOKEN"
{
"sub": "1042",
"preferred_username": "darkknight",
"name": "Dark Knight",
"email": "[email protected]",
"email_verified": true
}
Usa sub como el identificador estable y opaco de la cuenta en tu base de datos.
¿Ya incorporaste a un usuario y quieres releer su perfil más tarde sin un navegador? Las apps confidenciales pueden llamar al wrapper REST con auth HTTP Basic (tu client_id : client_secret). Solo puedes leer cuentas que hayan autorizado tu app.
curl https://sso.tuservermu.com/api/v1/account/SUB \ -u YOUR_CLIENT_ID:YOUR_CLIENT_SECRET
{
"sub": "1042",
"username": "darkknight",
"email_verified": true,
"status": "active",
...
}
¿Preguntas? Gestiona tus apps · TuServerMU SSO