Exemplo de Aplicativo 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 de Node.js que mostra como usar OAuth 2.0 para permitir que os usuários sejam autenticados em suas contas Roblox e transmitam mensagens em suas experiências. Este aplicativo usa o código de autorização sem PKCE e, portanto, é apenas adequado para clientes confidenciais, como servidores privados.


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

Registrando o Aplicativo

O primeiro passo para configurar o aplicativo é registrá-lo no site do Roblox e copiar o ID do cliente e o segredo em algum lugar seguro. Em seguida, siga os passos de registro padrão com essas configurações:

  1. Sob <a href="/reference/Permissions">Permissões</a>, adicione o <a href="perfil">Perfil</a>, e <a href>/universe-messaging-service:publicarescopos.
  2. Sob Redirecionar URLs , adicione o http://localhost:3000/oauth/callback redirecionamento. Se você quiser usar um porto não padrão para o seu aplicativo, especifique-o aqui.

Configurando Variáveis de Ambiente

Ao invés de armazená-los em código (não recomendado), o aplicativo usa variáveis de ambiente para o ID e senha do seu cliente. O processo de adição de variáveis de ambiente difere por sistema operacional.

On Windows, run the following PowerShell commands:


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

On Mac e na maioria das distribuições Linux, execute esses 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 um porto não padrão na URL de redirecionamento ao registrar seu aplicativo, certifique-se de adicionar a variável ROBLOX_PORT.

Instalando Dependências

O aplicativo tem uma dúzia de dependências, visíveis em package.json . Para instalá-las, executar:


npm ci

Executando o Aplicativo

Para iniciar o aplicativo, executar:


npm start

Então navegue para http://localhost:3000 (ou seu porto não padrão) em um navegador web.

O aplicativo imediatamente redireciona você para a tela de login do Roblox, no qual ponto você pode fazer login, verificar as permissões que o aplicativo está solicitando e clique em Confirmar e Dê Acesso .

O Roblox, em seguida, redireciona você de volta para localhost, onde você pode ver que o aplicativo agora exibe algumas informações mínimas do usuário, um link de volta para o seu perfil no Roblox e campos que você pode usar para transmitir mensagens em suas experiências.

Sobre o Aplicativo

Em linhas gerais, index.js executa as seguintes operações:

  1. Inicia um novo servidor web usando express .
  2. Recupera 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, see Autenticação de OAuth 2.0.
  3. Cria um novo cliente Open ID usando openid-client e suas credenciais armazenadas. Este cliente simplifica drasticamente o processo de formação e envio de solicitações HTTP para os endpoints OAuth 2.0.
  4. Define as rotas para o aplicativo, incluindo redirecionamentos para os fluxos de login e saída e o retorno de chamada OAuth 2.0.
  5. Depois de um login bem-sucedido, armazena os vários tokens como cookies, juntamente com alguma informação mínima do usuário que ele exibe como HTML com a ajuda de getHomeHtml.js.