Posso usare le chiavi API per questo?

Ciao a tutti!

Sto lavorando a un forum dedicato allo sviluppo su Roblox e ho una domanda piuttosto specifica per cui non riesco a trovare risposta riguardo alle chiavi API.

Il mio problema è semplice: Roblox non dispone di alcuna API di autenticazione pubblica che io possa utilizzare. Sono solo un utente del sito e non ho alcun contatto con persone di Roblox Corp che potrebbero concedermi l’accesso all’API, quindi devo ricorrere a metodi piuttosto macchinosi per evitare impersonificazioni sul sito.

Quello che vorrei fare è far avviare agli utenti il processo di verifica su Discord (obbligatorio per l’ammissione iniziale) e, tramite un comando di verifica, unirli a un gioco in cui confermeranno la loro identità. Successivamente, attraverso richieste HTML, il server invierà informazioni a Discourse, aggiornando il loro username a quello che hanno su Roblox e modificando il livello di fiducia per riflettere che sono verificati.

So che esiste un endpoint di aggiornamento, ma nelle URL consentite appare solo “username”. Chiedo quindi: è possibile aggiornare i livelli di fiducia tramite l’API di aggiornamento? In caso contrario, funzionerebbe in alternativa l’assegnazione di un badge “verificato”?

Quello che farei è utilizzare un plugin con un campo utente personalizzato che convalidi l’iscrizione quando il campo personalizzato viene salvato. Verificare sia Discord che Roblox sembra superfluo.

Ad esempio, potresti generare un numero casuale e chiedere all’utente di aggiungerlo al proprio profilo su Discord o Roblox, quindi utilizzare un before_save per verificare che il profilo remoto contenga la chiave.

Sì, è possibile. Si tratta di una richiesta PUT a /admin/users/${user.id}/trust_level passando il parametro level con il numero del livello di fiducia desiderato.

Puoi scoprire tutto ciò che l’API può fare su Come fare reverse engineering dell’API di Discourse