Empieza en XID Cloud
XID Cloud funciona en https://xid.dev y es gratis. Necesitas una organización, una aplicación y unas pocas líneas de código.
- Elige Empezar gratis en la parte superior de esta página. Regístrate y ponle nombre a tu organización; XID la crea y abre la consola.
- En la consola, abre Aplicaciones y crea una aplicación. Registra el URI de redirección exacto de tu aplicación y copia su ID de cliente.
- Envuelve tu aplicación en
XidProvidercon el issuerhttps://xid.devy tu ID de cliente, y verifica los tokens de acceso en tu backend conauthenticateRequest.
import { XidProvider } from '@xid-kit/react'
export function App() {
return (
<XidProvider
mode="oidc"
issuer="https://xid.dev"
clientId="client_abc123"
redirectUri="https://app.example.com/auth/callback"
>
<Layout />
</XidProvider>
)
}import { authenticateRequest } from '@xid-kit/backend'
const state = await authenticateRequest(request, {
jwtKey: env.XID_JWKS_PUBLIC_KEY,
issuer: 'https://xid.dev',
})
if (!state.isSignedIn) return new Response('Unauthorized', { status: 401 })Los SDK se distribuyen como código fuente en el repositorio de XID. Cualquier biblioteca OIDC estándar también funciona con los endpoints de abajo.
En una instancia autoalojada, usa el dominio de tu propia instancia en lugar de https://xid.dev. Autoalojamiento explica la implementación.
URL base
XID 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 XID RP->>Browser: /authorize + PKCE S256 Browser->>XID: /authorize + PKCE S256 XID->>Browser: /sign-in Browser->>XID: WebAuthn / SSO XID->>Browser: code Browser->>RP: code RP->>XID: /token + PKCE S256 XID->>RP: ID token + access token
const authorizeUrl = new URL('https://xid.dev/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')