API Lure : « Se connecter avec Lure »
Les sites partenaires peuvent relier un compte Lure et lire les données que le joueur accepte de partager. Standard OAuth 2.0, code d'autorisation, PKCE (S256) accepté. Lecture seule.
1. Devenir partenaire
Écris à Lure avec le nom de ton site, son adresse et ton adresse de retour (redirect_uri). Tu reçois un client_id et un client_secret.
2. Envoyer le joueur sur Lure
https://lureverse.fr/oauth/authorize?response_type=code&client_id=…&redirect_uri=…&scope=profil+jeux&state=…
Il revient sur ton adresse avec ?code=…&state=… (code valable 10 minutes, une seule fois), ou ?error=access_denied.
3. Échanger le code
POST https://lureverse.fr/oauth/token avec grant_type=authorization_code, code, redirect_uri, client_id, client_secret (et code_verifier avec PKCE). Réponse : access_token (1 h), refresh_token (180 jours, renouvelé à chaque usage), scope.
Renouveler : grant_type=refresh_token. Révoquer : POST https://lureverse.fr/oauth/revoke avec token.
4. Lire les données
En-tête Authorization: Bearer lure_at_…, 600 requêtes par minute au plus.
GET /api/v1/me: identifiant, pseudo, date d'inscription, et le profil avecprofilGET /api/v1/me/games(jeux) : chaque jeu avec temps de jeu, succès, dernière session ettime_to_beat(minutes :main_minuteshistoire principale,normal_minutesavec des extras,completionist_minutesà 100 %, ounullsi inconnu). Ce sont les temps affichés sur les fiches Lure.
Liaison automatique des comptes
De serveur à serveur, avec une clé partenaire lure_pk_… fournie par Lure. Envoie les identités que ton site a vérifiées lui-même ; Lure répond par les identifiants des comptes Lure qui ont ces mêmes identités vérifiées, jamais par un nom ni une donnée de profil. Un seul identifiant : c'est la même personne. Plusieurs : laisse le joueur choisir.
POST https://lureverse.fr/api/v1/partner/identities/lookup, en-tête Authorization: Bearer lure_pk_…, corps JSON {"identities":[{"provider":"STEAM","providerUserId":"76561198000000000"}]} (1 à 20 identités). Fournisseurs : STEAM (SteamID64), DISCORD (id), XBOX (XUID), PSN (accountId). Réponse : {"partnerUserIds":["…"]}, vide si aucun compte. L'identifiant est le même que id dans GET /api/v1/me.
Portées
profil: Ton profil : titre, bio, avatar, couleur, jeux épinglés et plateformes affichéesjeux: Tes jeux : temps de jeu, succès, dernière session et temps moyen pour les finir (les jeux que tu masques restent cachés)
Jamais partagé : e-mail, mot de passe, messages, réglages, jeux masqués par le joueur. Le joueur peut retirer l'accès à tout moment depuis Lure.
Retour à Lure