---
title: "Primeiros passos"
description: "Cadastre-se no XID Cloud, crie um aplicativo e verifique seus tokens."
locale: "pt-BR"
---

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

# Primeiros passos

## Comece no XID Cloud

O XID Cloud roda em `https://xid.dev` e é grátis. Você precisa de uma organização, um aplicativo e algumas linhas de código.

- Escolha Começar grátis no topo desta página. Cadastre-se e dê um nome à sua organização; o XID a cria e abre o console.
- No console, abra Aplicativos e crie um aplicativo. Registre o URI de redirecionamento exato do seu aplicativo e copie o ID do cliente.
- Envolva seu aplicativo em `XidProvider` com o issuer `https://xid.dev` e seu ID do cliente, e verifique os tokens de acesso no backend com `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 })
```

Os SDKs são distribuídos como código-fonte no repositório do XID. Qualquer biblioteca OIDC padrão também funciona com os endpoints abaixo.

Em uma instância auto-hospedada, use o domínio da sua própria instância em vez de `https://xid.dev`. [Auto-hospedagem](/pt-br/self-hosting) explica a implantação.

## URLs base

O XID é um provedor de identidade. O domínio da instância é o emissor OIDC, a URL base da API, a URL base do Hosted Auth e a URL base do console. As organizações fornecem política, identidade visual, associação e isolamento de recursos.

Comece lendo `/.well-known/openid-configuration` no domínio da instância. O documento de descoberta fornece ao aplicativo os endpoints de autorização, token, userinfo, logout e JWKS desse emissor.

| Superfície | Caminho | Uso |
| --- | --- | --- |
| Descoberta OIDC | `/.well-known/openid-configuration` | Leia os metadados do emissor antes de configurar uma parte confiável. |
| Autorização | `/authorize` | Redirecione usuários para o fluxo unificado do Hosted Auth. |
| Token | `/token` | Troque um código de autorização ou token de atualização. |
| Informações do usuário | `/userinfo` | Leia declarações de um token de acesso válido. |
| API de gerenciamento | `/v1/*` | Gerencie recursos da organização pelo seu servidor. |

## Integração mínima

- Crie um aplicativo OIDC e registre valores exatos de URI de redirecionamento.
- Use o fluxo de código de autorização com PKCE S256 para clientes de navegador e nativos.
- Valide tokens de ID e tokens de acesso contra o emissor e a URI JWKS.
- Armazene tokens de atualização no servidor ou em um armazenamento nativo seguro de credenciais.

## Solicitação de autorização

```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/pt-br/getting-started/index.mdx
