Saltar al contenido

Primeros pasos

Conecta una aplicación a Vonvon con OIDC Discovery y Hosted Auth.

Ver como Markdown

URL base

Vonvon es un proveedor de identidad. El dominio de la instancia es el emisor OIDC, la URL base de API, la URL base de Hosted Auth y la URL base de la consola. Las organizaciones aportan política, marca, membresía y aislamiento de recursos.

Empieza leyendo /.well-known/openid-configuration desde el dominio de la instancia. El documento de descubrimiento entrega a tu app los puntos de conexión authorization, token, userinfo, logout y JWKS para ese emisor.

Superficie Ruta Uso previsto
Descubrimiento OIDC /.well-known/openid-configuration Leer los metadatos del emisor antes de configurar una parte de confianza.
Autorización /authorize Redirigir usuarios al flujo unificado de Hosted Auth.
Token /token Intercambiar un código de autorización o token de actualización.
Userinfo /userinfo Leer declaraciones de un token de acceso válido.
API de administración /v1/* Gestiona recursos de organización desde tu servidor.

Integración mínima

  • Crea una aplicación OIDC y registra valores exactos de URI de redirección.
  • Usa el flujo de código de autorización con PKCE S256 para clientes de navegador y nativos.
  • Validar tokens de ID y tokens de acceso contra el emisor y la URI JWKS.
  • Almacena tokens de actualización en el servidor o en un almacén nativo seguro de credenciales.

Solicitud de autorización

sequenceDiagram
  participant Browser
  participant RP
  participant Vonvon
  RP->>Browser: /authorize + PKCE S256
  Browser->>Vonvon: /authorize + PKCE S256
  Vonvon->>Browser: /sign-in
  Browser->>Vonvon: WebAuthn / SSO
  Vonvon->>Browser: code
  Browser->>RP: code
  RP->>Vonvon: /token + PKCE S256
  Vonvon->>RP: ID token + access token
const authorizeUrl = new URL('https://vonvon.id/authorize')
authorizeUrl.searchParams.set('client_id', clientId)
authorizeUrl.searchParams.set('redirect_uri', redirectUri)
authorizeUrl.searchParams.set('response_type', 'code')
authorizeUrl.searchParams.set('scope', 'openid profile email')
authorizeUrl.searchParams.set('code_challenge', codeChallenge)
authorizeUrl.searchParams.set('code_challenge_method', 'S256')
Navegación

Escribe para buscar...

Usa las flechas para navegarPulsa Intro para seleccionarPulsa Escape para cerrar