Aperçu d'OAuth 2.0

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Vous pouvez construire ou autoriser des applications qui utilisent les API du cloud ouvert 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 utiliser en toute sécurité des 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 tierces pour accéder à vos expériences ou à celles de votre groupe sans leur donner vos identifiants et vos informations personnelles.Vous sélectionnez les permissions d'accès de vos ressources Roblox spécifiques, et Roblox gère le processus d'autorisation pour vous avec le cadre OAuth 2.0.

En tant que développeur d'application

Vous pouvez créer des applications pour vous-même et pour les 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 les uns avec les autres, et les flux d'autorisation dont vous devez suivre pour développer des applications sécurisées 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 les uns avec les autres dans les flux d'autorisation.

  • Propriétaire de ressource : Une entité capable d'accorder l'accès à une ressource protégée.Par exemple, un créateur qui permet à une application tierce d'accéder à ses ressources Roblox via les API Web du cloud ouvert.

  • Serveur de ressources : Un service Roblox qui héberge des ressources protégées et répond aux demandes d'un propriétaire de ressources.

  • Client : Une application qui accède à des ressources protégées au nom du propriétaire de la ressource (avec l'autorisation du propriétaire).

  • Serveur d'autorisation : Le serveur Roblox qui authentifie l'identité du propriétaire de la ressource et émet des jetons d'accès au client.

Types de subvention

Les flux d'autorisation ou les types d'octroi sont les étapes des actions que les rôles effectuent lors du processus d'autorisation.Roblox prend en charge le flux de code d'autorisation OAuth 2.0 et sa clé de preuve pour l'extension d'échange de code (PKCE), avec des exigences de mise en œuvre différentes pour les applications capables ou incapables de stocker des secrets clients.

Flux de code d'autorisation

À 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 :

  1. Le client envoie une demande d'autorisation au serveur d'autorisation Roblox.

  2. Le serveur d'autorisation vérifie l'identité du propriétaire de la ressource.

  3. Le serveur d'autorisation reçoit les permissions d'accès à des ressources spécifiques de Roblox de la part du propriétaire de la ressource.

  4. Le serveur d'autorisation redirige le propriétaire de la ressource vers le client avec un code d'autorisation.

  5. Le client demande un jeton d'accès en utilisant le code d'autorisation à l'extrémité du jeton.

  6. Le client reçoit une réponse de l'extrémité de jeton contenant un jeton d'accès, un jeton d'ID et un jeton de rafraîchissement.

  7. 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 code d'autorisation que vous lirez dans les sections suivantes :

Flux de code d'autorisation avec PKCE

L'extension PKCE de la chaîne de code d'autorisation aide à réduire le risque de fuite du code d'autorisation et à empêcher la falsification de demandes intersite (CSRF), une attaque qui trompe les utilisateurs en soumettant des demandes Web non intentionnelles.Ce flux termine le processus d'autorisation avec les étapes suivantes :

  1. Le client génère une clé unique et cryptographiquement aléatoire appelée un vérificateur de code pour chaque demande d'autorisation.

  2. Le client exécute un algorithme de hachage SHA-256 sur le vérificateur de code pour générer un défi de code code.

  3. Si le client :

    • Est un client public, au lieu d'utiliser le secret du client, il transmet l'ID du client et le défi du code dans la demande d'autorisation.

    • Est un client confidentiel, il ajoute le défi du code avec l'ID du client et le secret dans la demande.

  4. Le client envoie une demande d'autorisation au serveur d'autorisation Roblox.

  5. Le serveur d'autorisation vérifie l'identité du propriétaire de la ressource.

  6. Le serveur d'autorisation reçoit les permissions d'accès à des ressources spécifiques de Roblox de la part du propriétaire de la ressource.

  7. Le serveur d'autorisation redirige le propriétaire de la ressource vers le client avec un code d'autorisation.

  8. Le client inclut le code d'autorisation et le vérificateur de code original dans la demande de jeton à l'extrémité du jeton.

  9. Le serveur d'autorisation vérifie le code d'autorisation et le vérificateur de code associé.

  10. Le client reçoit une réponse de l'extrémité de jeton contenant un jeton d'accès, un jeton d'ID et un jeton de rafraîchissement.

  11. Le client récupère les ressources autorisées après avoir obtenu le jeton d'accès.

assistanced'OpenID Connect

Roblox utilise OpenID Connect (OIDC) comme couche d'identité sur le protocole OAuth 2.0 pour authentifier des informations sensibles sur le compte.OIDC permet aux applications de vérifier l'identité des utilisateurs et d'obtenir leurs informations de profil public de base, telles que l'ID de l'utilisateur, les noms d'utilisateur, les noms d'affichage et les liens de profil.

Enregistrement et mise en œuvre

Pour implémenter une application Web ou mobile qui utilise le flux de code d'autorisation, vous devez :

  1. Enregistrez votre application avec Roblox.Cela vous permet d'obtenir un ID client et un secret pour enregistrer votre application auprès de Roblox et de faire des appels à vos points finaux.

  2. 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.

  3. Passez par le processus de revue pour obtenir plus de quota d'utilisateur.