Visão geral do OAuth 2.0

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Você pode construir ou autorizar aplicativos que usam APIs do Open Cloud para acessar recursos do Roblox. O Open Cloud fornece autenticação para esses aplicativos usando OAuth 2.0.

Como criador de experiência ou dono de grupo

Você pode usar com segurança ferramentas criadas por outros para melhorar sua produtividade de criação. A camada de autorização do OAuth 2.0 permite que você conceda permissões a aplicativos de terceiros para acessar suas experiências ou as do seu grupo sem lhes dar suas credenciais e informações pessoais. Você seleciona as permissões de acesso de seus recursos Roblox específicos e o Roblox lida com o processo de autorização para você com a estrutura OAuth 2.0.

Como desenvolvedor de aplicativos

Você pode criar aplicativos para si mesmo e para outras pessoas na comunidade Roblox. O OAuth 2.0 define as funções envolvidas no processo de autorização, o protocolo de como as funções interagem umas com as outras e os fluxos de autorização que você precisa seguir para desenvolver aplicativos seguros e compatíveis.

Funções

O protocolo Open Cloud OAuth 2.0 tem os seguintes papéis. É útil entender os papéis específicos antes de aprender sobre como eles interagem entre si em fluxos de autorização.

  • Proprietário do recurso : Uma entidade capaz de conceder acesso a um recurso protegido. Por exemplo, um criador que permite que um aplicativo de terceiros acesse seus recursos do Roblox através das APIs da Web Open Cloud.

  • Servidor de recursos : Um serviço do Roblox que hospeda recursos protegidos e responde a solicitações de um Proprietáriode recursos.

  • Cliente : Um aplicativo que acessa recursos protegidos em nome do proprietário do recurso (com a autorização do Proprietário).

  • Servidor de autorização : O servidor Roblox que autentica a identidade do proprietário do recurso e emite tokens de acesso ao cliente.

Tipos de subsídios

Fluxos de autorização, ou tipos de concessão, são as etapas de ações que os papéis realizam durante o processo de autorização. O Roblox suporta o fluxo de código de autorização OAuth 2.0 e sua extensão Proof Key for Code Exchange (PKCE), com diferentes requisitos de implementação para aplicativos capazes ou incapazes de armazenar segredos de clientes.

Fluxo de Código de Autorização

Através do fluxo de código de autorização, um cliente troca um código de autorização por um token de acesso e um token de atualização para completar o processo de autorização nas seguintes etapas:

  1. O cliente envia uma solicitação de autorização para o servidor de autorização do Roblox.

  2. O servidor de autorização verifica a identidade do Proprietáriodo recurso.

  3. O servidor de autorização recebe permissões para acessar recursos específicos do Roblox do Proprietáriodo recurso.

  4. O servidor de autorização redireciona o proprietário do recurso para o cliente com um código de autorização.

  5. O cliente solicita um token de acesso usando o código de autorização no endpoint do token.

  6. O cliente recebe uma resposta do endpoint de token contendo um token de acesso, um token de ID e um token de atualização.

  7. O cliente pega os recursos permitidos depois de obter o token de acesso.

A figura a seguir descreve as interações entre as funções no fluxo de código de autorização que você vai ler nas seguintes seções:

Fluxo de Código de Autorização com PKCE

A extensão PKCE do fluxo de código de autorização ajuda a reduzir o risco de vazamento do código de autorização e evitar a falsificação de solicitações entre sites (CSRF), um ataque que engana os usuários a enviar solicitações web não intencionais. Este fluxo completa o processo de autorização com os seguintes passos:

  1. O cliente gera uma chave única e criptograficamente aleatória chamada verificador de código para cada solicitar / pedirde autorização.

  2. O cliente roda um algoritmo de hash SHA-256 no verificador de código para gerar um desafio de código **.

  3. Se o cliente:

    • É um cliente público , em vez de usar o segredo do cliente, passa o ID do cliente e o desafio de código na solicitar / pedirde autorização.

    • É um cliente confidencial , ele adiciona o desafio de código junto com o ID do cliente e segredo na solicitar / pedir.

  4. O cliente envia uma solicitação de autorização para o servidor de autorização do Roblox.

  5. O servidor de autorização verifica a identidade do Proprietáriodo recurso.

  6. O servidor de autorização recebe permissões para acessar recursos específicos do Roblox do Proprietáriodo recurso.

  7. O servidor de autorização redireciona o proprietário do recurso para o cliente com um código de autorização.

  8. O cliente inclui o código de autorização e o verificador de código original na solicitação de token para o ponto de extremidade de token .

  9. O servidor de autorização verifica o código de autorização e o verificador de código associado.

  10. O cliente recebe uma resposta do endpoint de token contendo um token de acesso, um token de ID e um token de atualização.

  11. O cliente pega os recursos permitidos depois de obter o token de acesso.

Suporte a OpenID Connect

O Roblox usa OpenID Connect (OIDC) como uma camada de identidade em cima do protocolo OAuth 2.0 para autenticação para proteger informações confidenciais da conta. OIDC permite que aplicativos verifiquem a identidade dos usuários e obtenham suas informações básicas de perfil público, como ID de usuário, nomes de usuário, nomes de exibição e links de perfil.

Registro e implementação

Para implementar um aplicativo web ou móvel que use o fluxo de código de autorização, você precisa:

  1. Registre seu aplicativo com o Roblox. Isso permite que você obtenha um ID de cliente e segredo para registrar seu aplicativo com o Roblox e fazer chamadas para seus endpoints.

  2. Implemente o fluxo de código de autorização. Para uma referência completa dos endpoints do OAuth 2.0 que você precisa chamar, consulte a referência Autenticação.

  3. Passe pelo processo de revisão para obter mais cota de usuários.