Authorization Code Grant standard (RFC 6749) : vos utilisateurs se connectent Ă votre application avec leur compte GPChat existant.
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.
/oauthAuthorize| ParamĂštre | Description |
|---|---|
client_id | Identifiant de votre application |
redirect_uri | Doit correspondre exactement à une URI enregistrée |
scope | profile â voir la liste complĂšte des scopes plus bas |
state | Valeur anti-CSRF que vous récupérez telle quelle en retour |
response_type | Toujours 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
/oauthTokencurl -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"
}
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"
}'
/oauthUserinfocurl https://api.gpchat.cm/oauth/userinfo \
-H "Authorization: Bearer gpat_..."
{ "sub": "UID", "name": "Nom complet", "picture": "https://..." }
/oauthRevokecurl -X POST https://api.gpchat.cm/oauth/revoke \
-H "Content-Type: application/json" \
-d '{ "token": "gpat_...", "client_id": "...", "client_secret": "..." }'
| Scope | Donne accĂšs Ă |
|---|---|
profile | IdentitĂ© de base (nom, photo) â "Login with GPChat" |
stories:read | Lecture des stories de l'utilisateur (Stories & Polls API) |
stories:write | Publication/suppression de stories |
polls:write | Création, vote et clÎture de sondages |
groups:manage | Gestion de groupes au nom de l'utilisateur (Groupes & Broadcast API) |