Desarrolladores

documentación para devs

Login con TuServerMU

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.

1

Registra tu aplicación

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):

  • Público · PKCE - SPAs, launchers de escritorio, apps móviles. Sin client secret.
  • Confidencial - sitios del lado del servidor que pueden guardar un secreto a salvo.

Recibirás un client_id (y, para apps confidenciales, un client_secret que se muestra una sola vez).

2

Discovery & endpoints

Apunta tu librería al documento de discovery y se configura sola:

https://sso.tuservermu.com/.well-known/openid-configuration
Issuerhttps://sso.tuservermu.com
Authorizationhttps://sso.tuservermu.com/oauth/authorize
Tokenhttps://sso.tuservermu.com/oauth/token
UserInfohttps://sso.tuservermu.com/oauth/userinfo
JWKShttps://sso.tuservermu.com/.well-known/jwks.json

Scopes: openid profile email - openid devuelve el id_token firmado; profile y email desbloquean esos claims.

3

Authorization Code + PKCE

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.

4

Lee al usuario

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.

5

Consulta servidor a servidor (REST)

¿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

Lo ultimo del ecosistema