aplicativode exemplo 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 uma amostra de aplicativo Node.js que mostra como usar o OAuth 2.0 para permitir que os usuários façam login em suas contas do Roblox e transmitam mensagens através de suas experiências.Este aplicativo usa o fluxo de código de autorização sem PKCE e, portanto, só é adequado para clientes confidenciais, como servidores privados.


Após baixar o arquivo .zip, extraia-o para sua própria pasta.

Registre 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.Então, siga os passos de registro padrão com essas configurações:

  1. Abaixo de Permissões , adicione os openid, profile e universe-messaging-service:publish escopos.
  2. Abaixo de Redirecionar URLs , adicione o redirecionamento http://localhost:3000/oauth/callback. Se você quiser usar um porto não padrão para o seu aplicativo, especifique-o aqui.

Definir variáveis de ambiente

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

On Windows, execute 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, 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.

Instale dependências

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


npm ci

Execute 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 da web.

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

O Roblox então 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 ao seu perfil no Roblox e campos que você pode usar para transmitir mensagens através de suas experiências.

Sobre o aplicativo

Em grandes traços, index.js realiza as seguintes operações:

  1. Inicia um novo servidor web usando express.
  2. Recupera a configuração do Roblox OpenID Connect (OIDC), que inclui pontos finais para autorização, informações do usuário, etc.Para mais informações sobre esses pontos finais, veja autenticação OAuth 2.0.
  3. Cria um novo cliente de Open ID usando openid-client e suas credenciais armazenadas.Este cliente simplifica dramaticamente o processo de formação e envio de solicitações HTTP adequadas aos pontos finais do OAuth 2.0.
  4. Define as rotas para o aplicativo, incluindo redirecionamentos para os fluxos de login e logout e o 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 ele exibe como HTML com a ajuda de getHomeHtml.js.