Português (Portugal)
  • Logto
  • Cloudflare Workers
  • Workers
  • autorização
  • autenticação
  • SaaS
  • inquilino
  • serverless

Logto x Cloudflare Workers: Como proteger os teus workers de acessos públicos?

Neste artigo, introduzimos como proteger as tuas APIs do Cloudflare Workers com o Logto. Utilizámos Hono como a framework de desenvolvimento de aplicações web para simplificar o desenvolvimento.

Darcy Ye
Darcy Ye
Developer

Cloudflare Workers (usaremos Workers para abreviar no conteúdo a seguir) fornece um ambiente de execução sem servidor que permite criar novas aplicações ou aumentar as existentes sem a necessidade de configurar ou manter infraestruturas.

Com o Workers, podes construir as tuas aplicações sem servidor e implementá-las instantaneamente em todo o mundo para um desempenho, confiabilidade e escalabilidade excepcionais. O Workers não só oferece desempenho excepcional, mas também disponibiliza um plano gratuito notavelmente generoso e planos pagos acessíveis. Quer sejas um desenvolvedor individual ou uma equipa de grande escala, o Workers permite-te desenvolver e entregar produtos rapidamente, ao mesmo tempo que minimizas a sobrecarga operacional.

Os Workers são acessíveis ao público por padrão, o que exige medidas de proteção para prevenir ataques e abusos. Logto oferece um serviço de identidade abrangente, fácil de usar e escalável, que pode proteger os Workers e todos os outros serviços web.

Este artigo explora o processo de proteger os teus Workers utilizando o Logto.

Construir um exemplo de Workers

Vamos primeiro construir um projeto de exemplo de Workers com Hono na máquina local.

Usamos a CLI Wrangler para implementar o exemplo no Cloudflare, permitindo-nos aceder ao caminho.

Implementar exemplo

Proteger APIs do Workers

Para comparar a API acessível ao público e a API protegida, adicionamos uma API GET /auth/greet que requer permissões específicas para aceder.

Não podemos aceder à API correspondente sem a devida permissão.

Requerer greet autenticado

Para gerir adequadamente o acesso às APIs do Workers, introduzimos o Logto.

Configurar o Logto

Regista uma conta se ainda não tiveres uma.

Usaremos o exemplo de Máquina-a-máquina (M2M) para aceder às APIs protegidas dos Workers, pois é direto. Se quiseres conceder acesso aos utilizadores da tua aplicação web, a configuração é bastante semelhante, mas deves usar a função “Utilizador” em vez da função “Máquina-a-máquina”.

  1. Acede ao Console de Administração do Logto e vai ao separador “Recurso API”, cria um recurso API chamado “Workers sample API” com o indicador de recurso a ser https://sample.workers.dev/. Também cria uma permissão greet:visitor para este recurso API.

Criar recurso API de exemplo do Workers

  1. Cria a função “Administrador de Workers”, que é uma função de “Máquina-a-máquina”, e atribui o escopo greet:visitor a essa função.

Criar função M2M

  1. Cria uma aplicação M2M e atribui a função de “Administrador de Workers” à aplicação.

Criar aplicação M2M

Atualizar o validador de autenticação do Workers

Como o Logto usa o token de acesso JWT na camada subjacente, precisamos implementar a lógica de validação JWT no Workers.

Como o token de acesso JWT é emitido pelo Logto, precisamos de:

  1. Obter a chave pública correspondente para verificar a assinatura.
  2. Verificar que o consumidor do token de acesso JWT são as APIs do Workers.

Essas constantes podem ser configuradas no ficheiro wrangler.toml [1] e serão implementadas como variáveis de ambiente dos Workers. Podes também gerir as variáveis de ambiente manualmente no Painel do Cloudflare.

Após implementar o projeto Workers no Cloudflare, podemos testar se as APIs estão protegidas com sucesso.

  1. Obter token de acesso

Obter token de acesso

Inspecionar JWT

  1. Solicitar a API GET /auth/greet do Workers

Aceder à API autenticada

Conclusão

Com o guia passo a passo deste artigo, deverás ser capaz de usar o Logto para proteger as tuas APIs do Workers.

Neste artigo, utilizámos a CLI Wrangler para o desenvolvimento local e implementação de projetos Workers. O Cloudflare também oferece APIs de Workers robustas e versáteis para facilitar a implementação e gestão.

Considera desenvolver uma aplicação SaaS. A API do Cloudflare permite-te implementar facilmente Workers dedicados para cada inquilino e, ao mesmo tempo, o Logto garante que os tokens de acesso permaneçam exclusivos para os seus respetivos inquilinos. Este controlo granular previne o acesso não autorizado entre inquilinos, aumentando a segurança e a privacidade dos dados para os utilizadores da tua aplicação SaaS.

A arquitetura adaptável e robusta do Logto atende às diversas necessidades de autenticação e autorização de várias aplicações. Se estás a construir uma plataforma SaaS complexa ou uma aplicação web simples, o Logto oferece a flexibilidade e escalabilidade para atender às tuas necessidades específicas.