---
title: "Erste Schritte"
description: "Registrieren Sie sich bei XID Cloud, legen Sie eine App an und prüfen Sie ihre Tokens."
locale: "de"
---

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

# Erste Schritte

## Mit XID Cloud beginnen

XID Cloud läuft unter `https://xid.dev` und ist kostenlos. Sie brauchen eine Organisation, eine Anwendung und ein paar Zeilen Code.

- Wählen Sie oben auf dieser Seite Kostenlos starten. Registrieren Sie sich und benennen Sie Ihre Organisation; XID legt sie an und öffnet die Konsole.
- Öffnen Sie in der Konsole Anwendungen und legen Sie eine Anwendung an. Registrieren Sie die exakte Weiterleitungs-URI Ihrer App und kopieren Sie die Client-ID.
- Umschließen Sie Ihre App mit `XidProvider` mit dem Issuer `https://xid.dev` und Ihrer Client-ID, und prüfen Sie Access Tokens im Backend mit `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 })
```

Die SDKs werden als Quellcode im XID-Repository verteilt. Jede Standard-OIDC-Bibliothek funktioniert ebenfalls mit den Endpunkten unten.

Auf einer selbst gehosteten Instanz verwenden Sie statt `https://xid.dev` Ihre eigene Instanzdomäne. [Self-Hosting](/de/self-hosting) beschreibt die Bereitstellung.

## Basis-URLs

XID ist ein Identitätsanbieter. Die Instanzdomain ist OIDC-Aussteller, API-Basis-URL, Hosted Auth-Basis-URL und Konsolen-Basis-URL. Organisationen liefern Richtlinie, Branding, Mitgliedschaft und Ressourcenisolierung.

Lesen Sie zuerst `/.well-known/openid-configuration` von der Instanzdomain. Das Discovery-Dokument liefert Ihrer Anwendung die Autorisierungs-, Token-, Userinfo-, Logout- und JWKS-Endpunkte dieses Ausstellers.

| Oberfläche | Pfad | Verwenden |
| --- | --- | --- |
| OIDC-Discovery | `/.well-known/openid-configuration` | Lesen Sie die Aussteller-Metadaten, bevor Sie eine Relying Party konfigurieren. |
| Autorisierung | `/authorize` | Benutzer zum einheitlichen Hosted Auth-Ablauf weiterleiten. |
| Token | `/token` | Autorisierungscode oder Refresh-Token austauschen. |
| Userinfo | `/userinfo` | Ansprüche eines gültigen Access-Tokens lesen. |
| Management-API | `/v1/*` | Organisationsressourcen aus Ihrem Backend verwalten. |

## Minimale Integration

- Erstellen Sie eine OIDC-Anwendung und registrieren Sie exakte Redirect-URI-Werte.
- Verwenden Sie den Autorisierungscode-Ablauf mit PKCE S256 für Browser- und native Clients.
- ID-Token und Access-Token gegen Aussteller und JWKS-URI validieren.
- Speichern Sie Refresh-Token serverseitig oder in einem sicheren nativen Zugangsdaten-Speicher.

## Autorisierungsanfrage

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