Skip to content

Commit df92033

Browse files
committed
Add troubleshooting guide for OAuth
1 parent 2b25adb commit df92033

1 file changed

Lines changed: 173 additions & 0 deletions

File tree

DEPANNAGE_OAUTH.md

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,173 @@
1+
# 🔧 Dépannage OAuth
2+
3+
## Erreur : "OAuth token exchange failed: Failed to fetch"
4+
5+
Cette erreur signifie que le frontend ne peut pas contacter le backend Vercel. Voici comment résoudre le problème :
6+
7+
### ✅ Checklist de vérification
8+
9+
#### 1. Vérifier que le backend Vercel est déployé
10+
11+
1. Allez sur [vercel.com/dashboard](https://vercel.com/dashboard)
12+
2. Vérifiez que votre projet est bien déployé
13+
3. Ouvrez l'URL de déploiement (ex: `https://votre-app.vercel.app`)
14+
4. Testez l'endpoint : `https://votre-app.vercel.app/api/oauth-callback` avec une requête POST
15+
- Vous devriez voir une erreur "Method not allowed" (normal pour GET)
16+
- Si vous voyez "404 Not Found", le backend n'est pas déployé
17+
18+
#### 2. Vérifier les secrets GitHub
19+
20+
Allez dans **GitHub > Votre repository > Settings > Secrets and variables > Actions**
21+
22+
Vérifiez que ces 3 secrets sont bien présents :
23+
24+
```
25+
✅ VITE_GITHUB_CLIENT_ID
26+
✅ VITE_GITHUB_REDIRECT_URI
27+
✅ VITE_VERCEL_API_URL ← CRUCIAL !
28+
```
29+
30+
**⚠️ IMPORTANT pour `VITE_VERCEL_API_URL`** :
31+
- L'URL doit être **sans slash à la fin** : `https://votre-app.vercel.app`
32+
- **Pas** : `https://votre-app.vercel.app/`
33+
- C'est l'URL de votre déploiement Vercel (visible dans le dashboard Vercel)
34+
35+
#### 3. Vérifier les variables d'environnement Vercel
36+
37+
Allez dans **Vercel Dashboard > Votre projet > Settings > Environment Variables**
38+
39+
Vérifiez que ces 3 variables sont présentes :
40+
41+
```
42+
✅ VITE_GITHUB_CLIENT_ID
43+
✅ GITHUB_CLIENT_SECRET
44+
✅ VITE_GITHUB_REDIRECT_URI
45+
```
46+
47+
**⚠️ IMPORTANT** :
48+
- `GITHUB_CLIENT_SECRET` doit être présent (c'est le secret, jamais exposé côté frontend)
49+
- Après avoir modifié les variables, **redeployez** le projet Vercel
50+
51+
#### 4. Redéployer après modifications
52+
53+
**Après avoir ajouté/modifié les secrets GitHub** :
54+
1. Allez dans **Actions** sur GitHub
55+
2. Relancez le workflow manuellement ou faites un commit vide :
56+
```bash
57+
git commit --allow-empty -m "Trigger deployment"
58+
git push
59+
```
60+
61+
**Après avoir modifié les variables Vercel** :
62+
1. Allez dans **Deployments** sur Vercel
63+
2. Cliquez sur **"..."** à côté du dernier déploiement
64+
3. Sélectionnez **"Redeploy"**
65+
66+
#### 5. Vérifier la console du navigateur
67+
68+
Ouvrez les **Outils de développement** (F12) > **Console** et cherchez :
69+
70+
- `🔗 Appel du backend Vercel: https://...` - L'URL utilisée
71+
- `❌ Erreur backend Vercel: ...` - Le message d'erreur détaillé
72+
73+
### 🔍 Diagnostic pas à pas
74+
75+
#### Test 1 : L'URL Vercel est-elle accessible ?
76+
77+
Ouvrez dans votre navigateur :
78+
```
79+
https://votre-app.vercel.app/api/oauth-callback
80+
```
81+
82+
**Attendu** : Une erreur JSON `{"error":"Method not allowed"}` ou similaire
83+
- ✅ Si vous voyez ça → Le backend est accessible
84+
- ❌ Si vous voyez "404" ou une erreur réseau → Le backend n'est pas déployé
85+
86+
#### Test 2 : Les secrets sont-ils bien dans le build ?
87+
88+
1. Ouvrez votre site GitHub Pages
89+
2. Ouvrez la console (F12)
90+
3. Tapez : `import.meta.env.VITE_VERCEL_API_URL`
91+
4. **Attendu** : L'URL de votre backend Vercel
92+
- ✅ Si vous voyez l'URL → Les secrets sont correctement configurés
93+
- ❌ Si vous voyez `undefined``VITE_VERCEL_API_URL` n'est pas dans les secrets GitHub
94+
95+
#### Test 3 : Les variables Vercel sont-elles correctes ?
96+
97+
Vérifiez les logs Vercel :
98+
1. Allez dans **Vercel Dashboard > Votre projet > Functions > api/oauth-callback**
99+
2. Cliquez sur un appel récent
100+
3. Regardez les logs
101+
102+
**Erreurs possibles** :
103+
- `Missing environment variables` → Ajoutez les variables dans Vercel
104+
- `Invalid client_id` → Vérifiez `VITE_GITHUB_CLIENT_ID` sur Vercel
105+
- `Invalid client_secret` → Vérifiez `GITHUB_CLIENT_SECRET` sur Vercel
106+
107+
### 🐛 Erreurs courantes et solutions
108+
109+
#### "Failed to fetch" ou "NetworkError"
110+
111+
**Cause** : Le frontend ne peut pas contacter le backend
112+
113+
**Solutions** :
114+
1. Vérifiez que `VITE_VERCEL_API_URL` est bien dans les secrets GitHub
115+
2. Vérifiez que l'URL est correcte (sans slash à la fin)
116+
3. Vérifiez que le backend Vercel est déployé
117+
4. Redéployez le frontend après avoir ajouté le secret
118+
119+
#### "Configuration manquante: VITE_VERCEL_API_URL n'est pas défini"
120+
121+
**Cause** : Le secret `VITE_VERCEL_API_URL` n'est pas dans GitHub Secrets
122+
123+
**Solution** :
124+
1. Allez dans **GitHub > Settings > Secrets > Actions**
125+
2. Ajoutez `VITE_VERCEL_API_URL` avec la valeur : `https://votre-app.vercel.app`
126+
3. Redéployez le frontend
127+
128+
#### "HTTP 500: Internal Server Error"
129+
130+
**Cause** : Erreur côté backend Vercel
131+
132+
**Solutions** :
133+
1. Vérifiez les logs Vercel (Functions > api/oauth-callback)
134+
2. Vérifiez que toutes les variables d'environnement sont présentes sur Vercel
135+
3. Vérifiez que `GITHUB_CLIENT_SECRET` est correct
136+
137+
#### "Invalid OAuth state"
138+
139+
**Cause** : Le paramètre `state` ne correspond pas (protection CSRF)
140+
141+
**Solution** : Réessayez la connexion OAuth (le state est régénéré à chaque tentative)
142+
143+
### 📝 Formulaire de vérification rapide
144+
145+
Cochez chaque point :
146+
147+
- [ ] Backend Vercel déployé et accessible
148+
- [ ] `VITE_VERCEL_API_URL` présent dans les secrets GitHub
149+
- [ ] `VITE_VERCEL_API_URL` sans slash à la fin
150+
- [ ] `VITE_GITHUB_CLIENT_ID` présent dans les secrets GitHub
151+
- [ ] `VITE_GITHUB_REDIRECT_URI` présent dans les secrets GitHub
152+
- [ ] `VITE_GITHUB_CLIENT_ID` présent sur Vercel
153+
- [ ] `GITHUB_CLIENT_SECRET` présent sur Vercel
154+
- [ ] `VITE_GITHUB_REDIRECT_URI` présent sur Vercel
155+
- [ ] Frontend redéployé après modification des secrets
156+
- [ ] Backend Vercel redéployé après modification des variables
157+
158+
### 💡 Astuce
159+
160+
Si vous testez en local :
161+
1. Créez un fichier `.env` :
162+
```env
163+
VITE_GITHUB_CLIENT_ID=votre_client_id
164+
VITE_GITHUB_REDIRECT_URI=http://localhost:5173/GithubWrapped/auth/callback
165+
VITE_VERCEL_API_URL=https://votre-app.vercel.app
166+
```
167+
2. Lancez `npm run dev`
168+
3. L'app utilisera ces variables pour tester localement
169+
170+
---
171+
172+
Si le problème persiste après avoir vérifié tous ces points, consultez les logs détaillés dans la console du navigateur et les logs Vercel pour identifier l'erreur précise.
173+

0 commit comments

Comments
 (0)