Puis-je utiliser des clés API pour cela ?

Salut tout le monde !

Je travaille sur un forum dédié au développement Roblox et j’ai une question assez particulière pour laquelle je ne parviens pas à trouver de réponse concernant les clés API.

Mon problème est simple : Roblox ne propose aucune API d’authentification publique que je pourrais utiliser. Je suis simplement un utilisateur du site, loin de toute personne chez Roblox Corporation susceptible de m’accorder un accès à l’API. Je dois donc recourir à des méthodes assez détournées pour éviter les usurpations d’identité sur le site.

Ce que je souhaite faire, c’est lancer le processus de vérification sur Discord (obligatoire pour l’admission initiale), puis, via une commande de vérification, intégrer les utilisateurs dans un jeu où ils confirmeront leur identité. Ensuite, par le biais de requêtes HTML, le serveur enverra des informations à Discourse, mettra à jour leur nom d’utilisateur pour qu’il corresponde à celui qu’ils ont sur Roblox, et modifiera leur niveau de confiance pour indiquer qu’ils sont vérifiés.

Je sais qu’il existe un point de terminaison de mise à jour, mais il n’autorise que l’URL “username”. Je me demande donc s’il est possible de mettre à jour les niveaux de confiance via l’API de mise à jour. Sinon, l’attribution d’un badge « vérifié » serait-elle une alternative viable ?

Ce que je ferais, c’est utiliser un plugin avec un champ utilisateur personnalisé qui validerait l’appartenance lors de la sauvegarde de ce champ. Vérifier à la fois Discord et Roblox semble superflu.

Par exemple, vous pourriez générer un nombre aléatoire et demander à l’utilisateur de l’ajouter à son profil sur Discord ou Roblox, puis utiliser un before_save pour vérifier que ce profil distant contient bien la clé.

1 « J'aime »

Oui, c’est possible. Il s’agit d’une requête PUT vers /admin/users/${user.id}/trust_level en passant le paramètre level avec le numéro du niveau de confiance souhaité.

Vous pouvez découvrir toutes les fonctionnalités de l’API dans Comment faire de l’ingénierie inverse de l’API Discourse

2 « J'aime »