Vous pouvez construire ou autoriser des applications qui utilisent des API ouvertes Cloud pour accéder aux ressources Roblox. Open Cloud fournit une authentification pour ces applications en utilisant OAuth 2.0.
- en tant que créateur d'expérience ou propriétaire de groupe
Vous pouvez facilement utiliser les outils créés par d'autres pour améliorer votre productivité de création. La couche d'autorisation OAuth 2.0 vous permet d'accorder des autorisations aux applications tiers pour accéder à vos expériences ou à celles de votre groupe sans donner vos codes et vos informations personnelles. Vous sélectionnez les autorisations d'accès de vos ressources Roblox spécifiques, et Roblox gère le processus d'autorisation pour vous avec le framework OAuth 2.0.
- en tant que développeur d'application
Vous pouvez créer des applications pour vous-même et d'autres dans la communauté Roblox. OAuth 2.0 définit les rôles impliqués dans le processus d'autorisation, le protocole de la façon dont les rôles interagissent entre eux et les flux d'autorisation que vous devez suivre pour développer des applications sûres et compatibles.
Rôles
Le protocole Open Cloud OAuth 2.0 a les rôles suivants. Il est utile de comprendre les rôles spécifiques avant d'apprendre comment ils interagissent l'un avec l'autre dans les flux d'autorisation.
Propriétaire de ressources : une entité capable de conceder l'accès à une ressource protégée. Par exemple, un créateur qui permet à un tiers d'accéder à leurs ressources Roblox à travers les API ouvertes du cloud Web.
Serveur de ressources : Un service Roblox qui héberge des ressources protégées et répond aux demandes d'un propriétaire de ressource.
Client : une application qui accède à des ressources protégées au nom du propriétaire des ressources (avec l'autorisation du propriétaire).
Serveur d'autorisation : Le serveur Roblox qui authentifie l'identité du propriétaire des ressources et délivre des jetons d'accès au client.
Types d'accès
Les flux d'autorisation, ou les types d'accès, sont les étapes des actions que les rôles effectuent pendant le processus d'autorisation. Roblox prend en charge le code d'autorisation OAuth 2.0 et sa clé de preuve pour l'échange de clés (PKCE), avec différents paramètres d' implementation pour les applications capables ou incapables de stocker les secrets du client.
Flux de travail Authentification
À travers le flux de code d'autorisation, un client échange un code d'autorisation pour un jeton d'accès et un jeton de rafraîchissement pour terminer le processus d'autorisation dans les étapes suivantes :
Le client envoie une demande d'autorisation au serveur d'autorisation Roblox.
Le serveur d'autorisation vérifie l'identité du propriétaire de la ressource.
Le serveur d'autorisation reçoit les permissions pour accéder à des ressources spécifiques Roblox du propriétaire de la ressource.
Le serveur d'autorisation redirige le propriétaire de la ressource vers le client avec un code d'autorisation.
Le client demande un jeton d'accès à l'aide du code d'autorisation à l'extrémité du jeton.
Le client reçoit une réponse à partir du bouton d'angle contenant un jeton d'accès, un jeton d'identifiant et un jeton de rafraîchissement.
Le client récupère les ressources autorisées après avoir obtenu le jeton d'accès.
La figure suivante décrit les interactions entre les rôles dans le flux de travail d'autorisation que vous liserez dans les sections suivantes :
Flux d'autorisation avec PKCE
L' extension PKCE du code d'autorisation aide à réduire le risque de fuir le code d'autorisation et d'empêcher la contrefaite de demandes intersites (CSRF), une attaque qui trompe les utilisateurs de soumettre des demandes Web non autorisées. Ce flux termine le processus d'autorisation avec les étapes suivantes :
Le client génère une clé unique et cryptographiquement aléatoire appelée un vérificateur de code pour chaque demande d'autorisation.
Le client exécute un algorithme de hachage SHA-256 sur le verificateur de code pour générer un défi de code.
Si le client :
Est un client public, au lieu d'utiliser le secret du client, il passe l'identifiant du client et le défi de code dans la demande d'autorisation.
Est un client confidentiel, il ajoute le défi de code ainsi que l'identifiant du client et le secret dans la demande.
Le client envoie une demande d'autorisation au serveur d'autorisation Roblox.
Le serveur d'autorisation vérifie l'identité du propriétaire de la ressource.
Le serveur d'autorisation reçoit les permissions pour accéder à des ressources spécifiques Roblox du propriétaire de la ressource.
Le serveur d'autorisation redirige le propriétaire de la ressource vers le client avec un code d'autorisation.
Le client inclut le code d'autorisation et le vérificateur de code original dans la demande de jeton à l'bouton de l'extrémité du jeton.
Le serveur d'autorisation vérifie le code d'autorisation et le code de vérification associé.
Le client reçoit une réponse à partir du bouton d'angle contenant un jeton d'accès, un jeton d'identifiant et un jeton de rafraîchissement.
Le client récupère les ressources autorisées après avoir obtenu le jeton d'accès.
OpenID Connect - Support
Roblox utilise OpenID Connect (OIDC) comme couche d'identité au-dessus du protocole OAuth 2.0 pour la protection des informations d' compte sensibles. OIDC permet aux applications de vérifier l'identité des utilisateurs et d'obtenir leurs informations de profil de base, telles que l'ID de l'utilisateur, les noms d'affichage et les noms de profil.
Enregistrement et implémentation
Pour implémenter une application Web ou mobile qui utilise le flux d'autorisation, vous devez :
Enregistre ton app avec Roblox. Cela te permet d'obtenir un ID client et un secret pour enregistrer ton app avec Roblox et de faire des appels à tes endpoints.
Implémentez le flux de code d'autorisation. Pour une référence complète des points d'extrémité OAuth 2.0 que vous devez appeler, voir la référence Authentification.
Passez par le processus de révision pour obtenir plus de quota d'utilisateur.