Connexion avec Millida sur votre site
Connectez le bouton « Connexion avec Millida » — connexion via un compte Millida pour les visiteurs de votre site. Enregistrement de l'application, flux d'autorisation, vérification du jeton.
Mis à jour le 7 septembre 2026
Millida peut servir de fournisseur d'identité : un visiteur clique sur « Se connecter avec Millida » sur votre site, confirme le transfert de données et revient déjà authentifié. Cela fonctionne via OpenID Connect — exactement comme une connexion avec Google, Apple ou Discord — donc n'importe quelle bibliothèque OIDC prête à l'emploi fonctionnera.
Seule l'identité est exposée : pseudo Minecraft, nom, avatar et — si vous le demandez et que la personne y consent — e-mail, skin, Discord et Telegram liés, ainsi que la réputation sur la plateforme. Les soldes, les transactions et les serveurs ne sont pas accessibles aux applications.
Ce que vous devez faire
1. Créer une application
Profil → API et webhooks → onglet Se connecter avec Millida → « Créer une application ».
Vous aurez besoin de :
- Nom — la personne le verra sur l'écran de connexion. Le mot « Millida » est interdit dans le nom de l'application d'un tiers.
- Redirect URI — où renvoyer l'utilisateur après confirmation. Uniquement
https(pour le développement,http://localhostest autorisé). La correspondance est exacte : une barre oblique en trop ou un paramètre ajouté ne correspondra plus. - Lien vers la politique de confidentialité — la personne le verra avant de vous transférer ses données.
Après la création, vous recevrez un client_id et, pour une application serveur, un client_secret. Le secret n'est affiché qu'une seule fois — enregistrez-le immédiatement.
Type d'application : serveur si vous disposez d'un backend capable de stocker le secret ; public s'il s'agit d'une SPA ou d'une application mobile et qu'il n'y a nulle part où cacher le secret.
2. Indiquer l'URL du fournisseur à la bibliothèque
https://id.millida.net
Cela suffit : la bibliothèque lira elle-même https://id.millida.net/.well-known/openid-configuration et trouvera les autres URL.
3. Envoyer la personne se connecter
https://id.millida.net/oauth/authorize
?response_type=code
&client_id=your_client_id
&redirect_uri=https://your-site.ru/auth/millida/callback
&scope=openid profile email
&state=random_string
&nonce=random_string
&code_challenge=base64url(sha256(code_verifier))
&code_challenge_method=S256
PKCE est obligatoire pour tout le monde, y compris les applications serveur. Enregistrez state dans la session et vérifiez-le au retour — sans cela, la réponse de quelqu'un d'autre peut être injectée dans votre session.
4. Échanger le code contre des jetons
POST https://id.millida.net/oauth/token
Content-Type: application/x-www-form-urlencoded
Authorization: Basic base64(client_id:client_secret)
grant_type=authorization_code&code=…&redirect_uri=…&code_verifier=…
La réponse contient access_token, id_token et, si vous avez demandé offline_access, refresh_token.
5. Découvrir qui s'est connecté
Analysez le id_token (vérifiez la signature auprès du JWKS, iss, aud, exp, nonce) ou demandez :
GET https://id.millida.net/oauth/userinfo
Authorization: Bearer <access_token>
Quelles données vous pouvez demander
| Ce que vous demandez | Ce que vous obtenez |
|---|---|
openid | sub — identifiant de l'utilisateur, obligatoire |
profile | pseudo, nom, avatar, lien vers le profil |
email | adresse e-mail et indication qu'elle est vérifiée |
minecraft | pseudo Minecraft, son UUID, l'édition et les liens vers le skin et la cape actuels |
discord | identifiant et nom du Discord lié |
telegram | identifiant et @nom du Telegram lié |
reputation | likes du profil, nombre de succès, date d'inscription, marque de compte vérifié |
offline_access | le droit de rafraîchir l'accès jusqu'à ce que la personne le révoque |
Un pseudo hors ligne n'a pas d'UUID — minecraft_uuid sera vide, et minecraft_username sera renseigné à partir du compte. telegram_id arrive sous forme de chaîne : un identifiant de chat Telegram ne tient pas dans un nombre exact JSON, et l'analyser comme un nombre corrompt les derniers chiffres.
Ne demandez que ce qui est nécessaire au fonctionnement de la connexion : la personne lit chaque élément supplémentaire sur l'écran de consentement et peut changer d'avis à ce moment-là.
À propos de l'identifiant utilisateur
sub est différent pour chaque application pour la même personne. Il est immuable pour votre site, mais il ne correspond pas au sub d'autres sites — vous ne pouvez pas faire correspondre les audiences entre applications avec lui.
Stockez sub comme clé utilisateur. L'e-mail ne convient pas pour cela : il peut être modifié.
Vérification de l'application
Une nouvelle application fonctionne immédiatement, mais elle est marquée comme non vérifiée sur l'écran de connexion. Lorsque le site est prêt, cliquez sur « Soumettre pour vérification » dans le tableau de bord — nous y jetterons un œil et retirerons la mention.
Erreurs courantes
« redirect_uri does not match any registered address » — l'adresse est comparée comme une chaîne complète. Vérifiez la barre oblique finale, le schéma et le port.
« Only code_challenge_method=S256 is supported » — PKCE est obligatoire, plain n'est pas accepté.
« The authorization code has already been used » — le code est à usage unique et vit une minute. Un échange répété est considéré comme un signe de fuite et révoque entièrement l'accès de l'application.
Le jeton a cessé de fonctionner après révocation — la personne a désactivé l'application dans les paramètres de sécurité de son profil. C'est un comportement attendu : renvoyez-la se connecter.
Comment une personne révoque l'accès
Profil → Sécurité → « Applications connectées » → « Révoquer ». L'accès s'arrête immédiatement et tous les jetons émis deviennent inutilisables.