Puoi creare o autorizzare app che utilizzano le API Open Cloud per accedere alle risorse di Roblox. Open Cloud fornisce autenticazione per queste app utilizzando OAuth 2.0.
- Come creatore di giochi o proprietario di un gruppo
Puoi utilizzare in modo sicuro strumenti creati da altri per migliorare la tua produttività nella creazione. Lo strato di autorizzazione OAuth 2.0 ti consente di concedere permessi ad app di terze parti per accedere ai tuoi giochi o a quelli del tuo gruppo senza dover fornire le tue credenziali e informazioni personali. Selezioni i permessi di accesso delle tue specifiche risorse Roblox, e Roblox gestisce il processo di autorizzazione per te con il framework OAuth 2.0.
- Come sviluppatore di app
Puoi creare app per te stesso e per gli altri nella comunità di Roblox. OAuth 2.0 definisce i ruoli coinvolti nel processo di autorizzazione, il protocollo di interazione tra i ruoli e i flussi di autorizzazione che devi seguire per sviluppare app sicure e compatibili.
Ruoli
Il protocollo Open Cloud OAuth 2.0 ha i seguenti ruoli. È utile comprendere i ruoli specifici prima di apprendere come interagiscono tra loro nei flussi di autorizzazione.
Proprietario delle risorse: Un'entità in grado di concedere accesso a una risorsa protetta. Ad esempio, un creatore che consente a un'app di terze parti di accedere alle proprie risorse Roblox tramite le API Web di Open Cloud.
Server delle risorse: Un servizio di Roblox che ospita risorse protette e risponde alle richieste di un proprietario delle risorse.
Cliente: Un'app che accede alle risorse protette per conto del proprietario delle risorse (con l'autorizzazione del proprietario).
Server di autorizzazione: Il server di Roblox che autentica l'identità del proprietario delle risorse e rilascia token di accesso al cliente.
Tipi di grant
I flussi di autorizzazione, o tipi di grant, sono i passaggi delle azioni che i ruoli eseguono durante il processo di autorizzazione. Roblox supporta il flusso di codice di autorizzazione OAuth 2.0 e la sua estensione Proof Key for Code Exchange (PKCE), con requisiti di implementazione diversi per le app che sono in grado o meno di memorizzare i segreti dei client.
Flusso di codice di autorizzazione
Attraverso il flusso di codice di autorizzazione, un cliente scambia un codice di autorizzazione per un token di accesso e un token di aggiornamento per completare il processo di autorizzazione nei seguenti passaggi:
Il cliente invia una richiesta di autorizzazione al server di autorizzazione di Roblox.
Il server di autorizzazione verifica l'identità del proprietario delle risorse.
Il server di autorizzazione riceve i permessi per accedere a specifiche risorse Roblox dal proprietario delle risorse.
Il server di autorizzazione reindirizza il proprietario delle risorse indietro al cliente con un codice di autorizzazione.
Il cliente richiede un token di accesso utilizzando il codice di autorizzazione all'endpoint del token.
Il cliente riceve una risposta dall'endpoint del token contenente un token di accesso, un token ID e un token di aggiornamento.
Il cliente recupera le risorse consentite dopo aver ottenuto il token di accesso.
La figura seguente descrive le interazioni tra i ruoli nel flusso di codice di autorizzazione di cui leggerai nelle sezioni seguenti:

Flusso di codice di autorizzazione con PKCE
L'estensione PKCE del flusso di codice di autorizzazione aiuta a ridurre il rischio di perdita del codice di autorizzazione e a prevenire il furto d’identità con richiesta incrociata (CSRF), un attacco che inganna gli utenti per farli inviare richieste web non intenzionate. Questo flusso completa il processo di autorizzazione con i seguenti passaggi:
Il cliente genera una chiave unica e crittograficamente casuale chiamata code verifier per ogni richiesta di autorizzazione.
Il cliente esegue un algoritmo di hash SHA-256 sul code verifier per generare un code challenge.
Se il cliente:
È un cliente pubblico, invece di utilizzare il segreto del cliente, passa l'ID cliente e il code challenge nella richiesta di autorizzazione.
È un cliente riservato, aggiunge il code challenge insieme all'ID cliente e al segreto nella richiesta.
Il cliente invia una richiesta di autorizzazione al server di autorizzazione di Roblox.
Il server di autorizzazione verifica l'identità del proprietario delle risorse.
Il server di autorizzazione riceve i permessi per accedere a specifiche risorse Roblox dal proprietario delle risorse.
Il server di autorizzazione reindirizza il proprietario delle risorse indietro al cliente con un codice di autorizzazione.
Il cliente include il codice di autorizzazione e il code verifier originale nella richiesta del token all'endpoint del token.
Il server di autorizzazione verifica il codice di autorizzazione e il code verifier associato.
Il cliente riceve una risposta dall'endpoint del token contenente un token di accesso, un token ID e un token di aggiornamento.
Il cliente recupera le risorse consentite dopo aver ottenuto il token di accesso.
Supporto OpenID Connect
Roblox utilizza OpenID Connect (OIDC) come livello di identità sopra il protocollo OAuth 2.0 per l'autenticazione al fine di proteggere informazioni sensibili sull'account. OIDC consente alle applicazioni di verificare l'identità degli utenti e ottenere le loro informazioni di profilo pubblico di base, come ID utente, nomi utente, nomi visualizzati e link al profilo.
Registrazione e implementazione
Per implementare un'app web o mobile che utilizza il flusso di codice di autorizzazione, devi:
Registrare la tua app con Roblox. Questo ti consente di ottenere un ID cliente e un segreto per registrare la tua app con Roblox e fare chiamate ai tuoi endpoint.
Implementare il flusso di codice di autorizzazione. Per un riferimento completo degli endpoint OAuth 2.0 che devi chiamare, consulta il riferimento Autenticazione.
Seguire il processo di revisione per ottenere ulteriori quote utenti.