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 Open Cloud APIs para acessar recursos do Roblox. Open Cloud fornece autenticação para esses aplicativos usando OAuth 2.0.

Como um criador de experiência ou proprietário de um grupo

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

Como um desenvolvedor de aplicativos

Você pode criar aplicativos para si mesmo e outros na comunidade Roblox. OAuth 2.0 define os papéis envolvidos no processo de autorização, o protocolo de como os papéis interagem entre si e os fluxos de autorização que você precisa seguir para desenvolver aplicativos seguros e compatíveis.

Papéis

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 uns com os outros em fluxos de autorização.

  • Proprietário de recursos : Um ente …

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

  • 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 para o cliente.

Tipos de Garantia

Fluxos de autorização ou tipos de garantia são os passos das ações que os papéis desempenham durante o processo de autorização. O Roblox suporta o código de autorização OAuth 2.0 e sua Prova Key for Code Exchange (PKCE) extensão, com diferentes requisitos de implementação para aplicações que são capazes ou incapazes de armazenar segredos do cliente.

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 concluir o processo de autorização nos passos a seguir:

  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 identificação 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 de volta ao cliente com um código de autorização.

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

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

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

A figura a seguir descreve as interações entre papéis no fluxo de autorização que você lerá nas seções a seguir:

Autorização de Código Flow com PKCE

A extensão PKCE do código de autorização ajuda a reduzir o risco de vazar o código de autorização e impedir a forja de pedidos de sites cruzados (CSRF), um ataque que engana os usuários para enviar pedidos de web não intencionais. Este fluxo conclui o processo de autorização com as seguintes etapas:

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

  2. O cliente executa um algoritmo de hashing 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, ele 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 juntamente com o ID e o segredo do cliente 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 identificação 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 de volta ao 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 token endpoint.

  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 endereço de tokens contendo um token de acesso, um token de ID e um token de atualização.

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

Suporte à conexão OpenID

O Roblox usa OpenID Connect (OIDC) como uma camada de identificação no topo do protocolo OAuth 2.0 para autenticação para proteger informações de conta sensíveis. O IDC permite que as aplicações verifiquem a identificação dos usuários e obtenham sua informação básica de perfil, como ID do usuário, nomes de usuário, nomes de exibição e links de perfil.

Registro e Implantação

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

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

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

  3. Passe pelo processo de revisão para obter mais quota de usuário.