---
title: "Primeros pasos"
description: "Regístrate en XID Cloud, crea una aplicación y verifica sus tokens."
locale: "es"
---

> Documentation Index
> Fetch the relevant documentation index at: https://xid.fngx.org/es/llms.txt
> Use this file to discover all available pages before exploring further.

# Primeros pasos

## 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 `XidProvider` con el issuer `https://xid.dev` y tu ID de cliente, y verifica los tokens de acceso en tu backend con `authenticateRequest`.

```tsx
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>
  )
}
```

```ts
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](/es/self-hosting) 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

```mermaid
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
```

```js
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')
```

Source: https://xid.fngx.org/es/getting-started/index.mdx
