Aplicação de amostra 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.

O Roblox fornece um aplicativo de exemplo do Node.js que mostra como usar o OAuth 2.0 para permitir que os usuários façam login em suas contas do Roblox. Este aplicativo usa o fluxo de código de autorização sem PKCE e, portanto, só é adequado para clientes confidenciais, como servidores privados.


Depois de baixar o arquivo .zip, extraia-o para sua própria pasta.

Registrando o App

O primeiro passo para configurar o aplicativo é registrá-lo no site do Roblox e copiar o ID do cliente e mantê-lo secreto em um lugar seguro. Em seguida, siga as etapas de registro padrão com essas configurações:

  1. Em Permissões , adicione os openid e profile perfil.
  2. Em Redirecionar URLs , adicione o http://localhost:3000/oauth/callback redirecionamento. Se você quiser usar uma porta não padrão para o seu aplicativo, especifique-o aqui.

Definindo Variáveis de Ambiente

Em vez de armazená-los em código (não recomendado), o aplicativo usa variáveis de ambiente para o seu ID de cliente e segredo. O processo de adicionar variáveis de ambiente difere de acordo com o sistema operacional.

No Windows, corra os seguintes comandos do PowerShell:


$env:ROBLOX_CLIENT_ID='your_client_id_here'
$env:ROBLOX_CLIENT_SECRET='your_client_secret_here'
$env:ROBLOX_PORT=3000 # Optional. Default is 3000.

No Mac e na maioria das distribuições Linux, corra estes comandos no terminal:


export ROBLOX_CLIENT_ID=your_client_id_here
export ROBLOX_CLIENT_SECRET=your_client_secret_here
export ROBLOX_PORT=3000 # Optional. Default is 3000.

Se você especificou uma porta não padrão no URL de redirecionamento ao registrar seu aplicativo, certifique-se de adicionar a variável ROBLOX_PORT.

Instalando Dependências

O aplicativo tem um punhado de dependências, visíveis em package.json . Para instalá-los, executar:


npm ci

Rodando o App

Para iniciar o aplicativo, executar:


npm start

Em seguida, navegue até http://localhost:3000 (ou sua porta não padrão) em um navegador da web.

O aplicativo imediatamente o redireciona para a tela de login do Roblox, onde você pode fazer login, verificar as permissões que o aplicativo está solicitando e clicar em Confirmar e conceder acesso .

O Roblox então o redireciona de volta para localhost , onde você pode ver que o aplicativo agora exibe algumas informações mínimas do usuário e um link de volta ao seu perfil no Roblox.

Sobre o Aplicativo

Em golpes largos, index.js realiza as seguintes operações:

  1. Inicia um novo servidor web usando express .
  2. Obtém a configuração do Roblox OpenID Connect (OIDC), que inclui endpoints para autorização, informações do usuário, etc. Para mais informações sobre esses endpoints, consulte Autenticação OAuth 2.0.
  3. Cria um novo cliente Open ID usando openid-client e suas credenciais armazenadas. Este cliente simplifica drasticamente o processo de formar e enviar solicitações HTTP para os endpoints OAuth 2.0.
  4. Define as rotas para o aplicativo, incluindo redirecionamentos para os fluxos de login e logout e a chamada de retorno de chamadado OAuth 2.0.
  5. Após um login bem-sucedido, armazena os vários tokens como cookies, juntamente com algumas informações mínimas do usuário que são exibidas como HTML com a ajuda de getHomeHtml.js .