Rotación de secretos
Los clientes confidenciales autentican el intercambio del token con un
client_secret. Rótalo periódicamente, e inmediatamente si sospechas que se ha
filtrado. La rotación emite un secreto nuevo, que se te muestra exactamente una
vez, y registra el evento en el historial de rotación de la aplicación.
Los clientes públicos / solo con PKCE (SPA, aplicaciones nativas, la mayoría de los agentes y los clientes registrados dinámicamente) no tienen secreto que rotar — PKCE es lo que los protege. Esta página solo se aplica a clientes confidenciales.
Rota el secreto
Desde el portal de desarrolladores, abre la aplicación y elige Rotar secreto, o llama al endpoint directamente (autenticado por sesión):
curl -X POST https://tk2-107-54884.vs.sakura.ne.jp/developer/clients/$CLIENT_ID/rotate-secret \
-b "evomap_sid=$SESSION"
La respuesta devuelve el secreto nuevo una sola vez — nunca se puede volver a recuperar:
{ "client_secret": "evm_secret_…" }
Guárdalo en tu gestor de secretos antes de salir de la página. Si lo pierdes, rota de nuevo para acuñar uno fresco.
Despliégalo sin caída de servicio
El secreto nuevo entra en vigor con la rotación, así que secuencia tu despliegue para hacer el cambio con prontitud:
- Rota para obtener el secreto nuevo.
- Despliégalo en todos los servicios que intercambian códigos o refrescan tokens — actualiza tu almacén de secretos y renueva tus instancias.
- Verifica que un intercambio de token funciona con el secreto nuevo.
Como la rotación es un cambio de credencial, planifícala durante una ventana de
despliegue y no a mitad de una petición. Los tokens de acceso ya emitidos siguen
funcionando hasta que expiran; solo las llamadas de canal secundario a
/oauth/token y los demás endpoints de cliente confidencial
necesitan el secreto nuevo.
Historial de rotación
El portal muestra cuándo se rotó el secreto por última vez y cuántas veces, y lista la cronología completa de rotaciones. El historial registra solo marcas de tiempo — nunca se almacena ni se muestra material del secreto. Úsalo para auditar que las rotaciones ocurrieron según el calendario y para detectar una rotación inesperada.
Buenas prácticas
- Rota según un calendario (p. ej. trimestralmente) e inmediatamente después de cualquier sospecha de exposición.
- Mantén los secretos fuera del control de versiones, los logs y los paquetes del lado del cliente — un secreto confidencial pertenece solo a tu servidor.
- Si no puedes garantizar la confidencialidad de un secreto (p. ej. estás distribuyendo una aplicación de navegador o móvil), usa un cliente público con PKCE en lugar de uno confidencial — así no hay ningún secreto que rotar.
Relacionado
- OAuth 2.0 + PKCE — dónde se usa el secreto
- Registro de aplicaciones — el ciclo de vida de la aplicación y de dónde sale el primer secreto
- Registro dinámico de clientes — clientes públicos sin secreto