💬 GPChat ← Toutes les APIs
OAuth2

Login with GPChat

Authorization Code Grant standard (RFC 6749) : vos utilisateurs se connectent Ă  votre application avec leur compte GPChat existant.

1. Enregistrer votre application

Créez votre application depuis l'espace développeur pour obtenir un client_id et un client_secret, en déclarant vos redirect_uris autorisées.

2. Rediriger vers l'écran de consentement

GET /oauthAuthorize
ParamĂštreDescription
client_idIdentifiant de votre application
redirect_uriDoit correspondre exactement à une URI enregistrée
scopeprofile — voir la liste complùte des scopes plus bas
stateValeur anti-CSRF que vous récupérez telle quelle en retour
response_typeToujours code
https://api.gpchat.cm/oauth/authorize?
  client_id=VOTRE_CLIENT_ID&
  redirect_uri=https://votreapp.com/callback&
  scope=profile&
  state=abc123&
  response_type=code

L'utilisateur se connecte avec son compte GPChat et approuve l'accÚs. Il est ensuite redirigé vers votre redirect_uri :

https://votreapp.com/callback?code=XXXX&state=abc123

3. Échanger le code contre des tokens

POST /oauthToken
curl -X POST https://api.gpchat.cm/oauth/token \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "authorization_code",
    "code": "XXXX",
    "redirect_uri": "https://votreapp.com/callback",
    "client_id": "VOTRE_CLIENT_ID",
    "client_secret": "VOTRE_CLIENT_SECRET"
  }'
{
  "access_token": "gpat_...",
  "refresh_token": "gprt_...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scope": "profile"
}
Le code d'autorisation expire au bout de 5 minutes et n'est utilisable qu'une seule fois.

4. Renouveler un token

curl -X POST https://api.gpchat.cm/oauth/token \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "refresh_token",
    "refresh_token": "gprt_...",
    "client_id": "VOTRE_CLIENT_ID",
    "client_secret": "VOTRE_CLIENT_SECRET"
  }'
Le refresh token est à usage rotatif : chaque renouvellement invalide l'ancien refresh token et en émet un nouveau. Conservez toujours le dernier reçu.

5. Récupérer le profil

GET /oauthUserinfo
curl https://api.gpchat.cm/oauth/userinfo \
  -H "Authorization: Bearer gpat_..."
{ "sub": "UID", "name": "Nom complet", "picture": "https://..." }

6. Révoquer un token

POST /oauthRevoke
curl -X POST https://api.gpchat.cm/oauth/revoke \
  -H "Content-Type: application/json" \
  -d '{ "token": "gpat_...", "client_id": "...", "client_secret": "..." }'

Scopes disponibles

ScopeDonne accĂšs Ă 
profileIdentitĂ© de base (nom, photo) — "Login with GPChat"
stories:readLecture des stories de l'utilisateur (Stories & Polls API)
stories:writePublication/suppression de stories
polls:writeCréation, vote et clÎture de sondages
groups:manageGestion de groupes au nom de l'utilisateur (Groupes & Broadcast API)