mirror of
https://github.com/R0m1k3/Socialflow.git
synced 2026-10-23 15:08:13 +02:00
fix(oauth): déduire l'URI de redirection du domaine public réel
Sans APP_URL, Facebook et TikTok recevaient http://localhost:5555/api/{facebook,tiktok}/callback : une URI que les fournisseurs refusent, donc aucune page connectable derrière un reverse proxy. Le repli localhost n'est plus utilisé que hors requête HTTP ; en service, la base publique est reconstruite depuis X-Forwarded-Proto / X-Forwarded-Host (trust proxy est déjà activé). - `resolvePublicBaseUrl(req)` centralise la résolution (APP_URL prioritaire) - l'URI de redirection est déduite de la requête au démarrage du flux, à l'échange du code et dans l'affichage des paramètres : les trois restent identiques, comme l'exige OAuth - docker-compose ne force plus APP_URL à localhost, qui rendait l'auto détection inopérante - cookie de session en `secure: 'auto'` à défaut d'APP_URL, pour ne pas émettre un cookie non sécurisé derrière un proxy HTTPS Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Db2EazEcvnqgTTeg8oGTif
This commit is contained in:
9 files changed
+119
-27
No files matched your search
@@ -136,6 +136,27 @@ docker-compose down
|
||||
docker-compose down -v
|
||||
```
|
||||
|
||||
## 🔗 URL publique et connexions OAuth (Facebook / TikTok)
|
||||
|
||||
Les boutons « Connecter une page » construisent une URI de redirection à partir
|
||||
de l'URL publique de l'application. Renseignez donc `APP_URL` avec le domaine
|
||||
réel :
|
||||
|
||||
```bash
|
||||
APP_URL=https://socialflow.exemple.fr
|
||||
```
|
||||
|
||||
Puis déclarez l'URI correspondante chez le fournisseur :
|
||||
|
||||
- Facebook : *Connexion Facebook → Paramètres → URI de redirection OAuth valides*
|
||||
→ `https://socialflow.exemple.fr/api/facebook/callback`
|
||||
- TikTok : *Login Kit → Redirect URI* → `https://socialflow.exemple.fr/api/tiktok/callback`
|
||||
|
||||
Si `APP_URL` est absent, l'URL est déduite des en-têtes `X-Forwarded-Proto` et
|
||||
`X-Forwarded-Host` envoyés par Nginx — vérifiez que le proxy les transmet
|
||||
(voir la configuration Nginx ci-dessus). Un `APP_URL` réglé sur
|
||||
`http://localhost:5555` en production produit une URI que Facebook refuse.
|
||||
|
||||
## 🔒 Sécurité en production
|
||||
|
||||
1. **Variables d'environnement** : Ne commitez JAMAIS le fichier `.env`
|
||||
|
||||
Reference in new issue
Block a user