EduGame implemente OAuth 2.1 avec PKCE obligatoire pour tous les clients (publics ou confidentiels). Integrez EduGame dans votre LMS, votre app mobile ou votre logiciel partenaire sans jamais manipuler les credentials utilisateur.
Protection contre l'interception du code d'autorisation, meme sur clients publics sans secret.
Chaque refresh invalide l'ancien token. Detection automatique de reuse avec revocation complete de la session.
Presets Viewer, Creator, Full. Chaque scope isole une capacite precise du compte.
Contactez le support EduGame avec le nom de votre application, vos redirect URIs et les scopes necessaires. Le registration self-serve est prevu pour la v1.1 ; en attendant, nous enregistrons votre client sous 48h ouvrees.
Cote client, generez un code_verifier aleatoire (43 a 128 caracteres). Derivez le code_challenge via SHA256 + base64url. Le code_verifier reste sur le client, le code_challenge est envoye avec la redirection initiale.
Construisez l'URL avec response_type=code, client_id, redirect_uri, scope, state (anti-CSRF), code_challenge et code_challenge_method=S256. L'utilisateur voit un ecran de consentement liste les scopes demandes.
Apres consentement, l'utilisateur est redirige vers votre redirect_uri avec un parametre code. Echangez-le cote serveur via POST /v1/oauth/token en envoyant grant_type=authorization_code, code, client_id, redirect_uri et code_verifier.
L'access_token (validite 1h) s'utilise dans l'en-tete Authorization: Bearer. Le refresh_token (validite 30j) permet d'obtenir un nouvel access_token via grant_type=refresh_token. La rotation est automatique : chaque refresh invalide l'ancien token.
/v1/oauth/authorizeRedirection + consentement utilisateur. Retourne un code via redirect_uri.
/v1/oauth/tokenEchange code ou refresh_token contre access_token. Supporte PKCE.
/v1/oauth/revokeRevocation d'un access_token ou refresh_token (par token ou session).
https://api.edugame.cc/v1/oauth/authorize
?response_type=code
&client_id=egc_your_client_id
&redirect_uri=https://your-app.com/oauth/callback
&scope=read:exams write:exams read:analytics
&state=anti_csrf_random_value
&code_challenge=CHALLENGE_FROM_VERIFIER
&code_challenge_method=S256curl -X POST https://api.edugame.cc/v1/oauth/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code" \
-d "code=RECEIVED_FROM_CALLBACK" \
-d "redirect_uri=https://your-app.com/oauth/callback" \
-d "client_id=egc_your_client_id" \
-d "code_verifier=YOUR_ORIGINAL_VERIFIER"
# Response
{
"access_token": "egat_...",
"refresh_token": "egrt_...",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "read:exams write:exams read:analytics"
}read:exams, read:courses, read:analytics, read:curriculumConsultation uniquement. Ideal pour tableau de bord parent ou analytics externe.
write:exams, write:courses, write:games, read:analytics, read:curriculumGeneration de contenu. Ne permet pas de facturer ou de publier sur le marketplace.
27 scopes (voir Reference API)Tous les scopes incluant write:marketplace, write:webhooks, admin:tenant. A reserver aux integrations trustees.