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, ouserver - 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.