WINTG
WINTG
Docs

Quickstart "Sign in with WINTG"

Voici le flow OAuth 2.0 complet en 5 minutes.

1. Crée ton app sur dev.wintg.group

Dashboard → + Nouvelle app → remplis :

  • Nom et description
  • Type d'app : web, spa, mobile, ou server
  • Redirect URI : https://ton-app.com/oauth/callback
  • Scopes : au minimum openid + email

Tu reçois client_id (32 chars) et client_secret (48 chars) — note le secret tout de suite, il n'est plus affiché ensuite.

2. Lance le flow d'autorisation

Redirige l'utilisateur vers :

https://wintg.group/oauth/authorize
  ?response_type=code
  &client_id=wkc_XXXXXXXX
  &redirect_uri=https://ton-app.com/oauth/callback
  &scope=openid email profile
  &state=RANDOM_CSRF_TOKEN
  &code_challenge=BASE64URL_SHA256_VERIFIER
  &code_challenge_method=S256

L'utilisateur voit un écran de consentement WINTG. S'il accepte, il revient sur ton redirect_uri avec ?code=...&state=....

3. Échange le code contre un access_token

curl -X POST https://wintg.group/oauth/token \
  -d "grant_type=authorization_code" \
  -d "code=$AUTH_CODE" \
  -d "client_id=$CLIENT_ID" \
  -d "client_secret=$CLIENT_SECRET" \
  -d "redirect_uri=https://ton-app.com/oauth/callback" \
  -d "code_verifier=$VERIFIER"

Tu reçois :

{
  "access_token": "eyJ...",
  "id_token": "eyJ...",
  "refresh_token": "...",
  "expires_in": 3600,
  "scope": "openid email profile"
}

4. Récupère le profil utilisateur

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
  https://wintg.group/oauth/userinfo

Réponse (selon les scopes accordés) :

{
  "sub": "user-stable-id-for-this-client",
  "email": "user@example.com",
  "email_verified": true,
  "username": "kojo",
  "first_name": "Kojo"
}

C'est tout. Pas besoin de gérer les mots de passe ni de vérifier les emails.