Authorization Server.

Wagner Iatalessi do Valle
4 min readMar 6, 2024

--

O uso de um Authorization Server em aplicativos móveis traz diversos benefícios relacionados à segurança, gerenciamento de identidade e autorização de usuários. Vou detalhar os principais benefícios, as características de segurança e os protocolos mais comuns usados para autenticação, identificação e autorização.

Centralização da Segurança.

Concentra o gerenciamento de autenticação e autorização em um único ponto, facilitando a implementação de políticas de segurança consistentes em diversos serviços ou aplicativos.

Padronização dos Processos.

Utiliza padrões de mercado para autenticação e autorização, o que facilita a integração com diferentes sistemas e serviços, além de promover a interoperabilidade.

Gerenciamento de Identidades.

Oferece uma solução integrada para gerenciar identidades de usuários, incluindo registro, login, recuperação de senha e gestão de perfis.

Suporte a Múltiplos Tipos de Clientes.

Pode atender tanto aplicações web, móveis quanto serviços de backend, adaptando-se a diferentes fluxos de autenticação e autorização conforme a necessidade.

Delegação de Acesso.

Permite que aplicativos acessem recursos em nome do usuário sem compartilhar suas credenciais, aumentando a segurança dos dados do usuário.

Escalabilidade.

Facilita a escalabilidade das aplicações ao centralizar a lógica de autenticação e autorização, reduzindo a complexidade no lado do cliente.

Segurança e Protocolos de Autenticação e Autorização.

OAuth 2.0

Um protocolo de autorização que permite a aplicativos de terceiros obter acesso limitado a um serviço HTTP, seja em nome de um usuário ou em nome do próprio aplicativo. É amplamente utilizado por sua flexibilidade e segurança.

OpenID Connect (OIDC).

Camada de identidade construída em cima do OAuth 2.0, que permite aos clientes verificar a identidade do usuário final e obter informações básicas do perfil. OIDC adiciona autenticação ao OAuth 2.0, uma distinção importante que transforma o protocolo de apenas autorização para também autenticação.

SAML (Security Assertion Markup Language).

Um padrão para troca de informações de autenticação e autorização entre partes, especialmente útil em cenários de Single Sign-On (SSO). SAML é mais comum em ambientes corporativos e integrações de sistemas legados.

PKCE (Proof Key for Code Exchange)

Pronunciado “pixy”, é uma extensão do OAuth 2.0 projetada para melhorar a segurança das aplicações clientes públicas, particularmente aquelas que são executadas em ambientes onde o cliente não pode confidencialmente armazenar seu segredo de cliente, como aplicativos de página única (SPA) ou aplicativos móveis. Ele foi criado para mitigar ataques de interceptação de autorização, como o ataque de Man in The Middle MiTD, durante o processo de obtenção do token de acesso.

PKCE adiciona uma camada extra de segurança ao exigir que o aplicativo cliente gere um verificador de código e um desafio de código no início do fluxo de autorização.

Tokens de Acesso.

Tokens que são concedidos aos aplicativos após uma autenticação bem-sucedida, permitindo o acesso a recursos protegidos em nome do usuário.

Refresh Tokens.

Usados para obter novos tokens de acesso sem necessidade de nova autenticação, aumentando a segurança e a conveniência para o usuário.

JSON Web Tokens (JWT).

Usados para representar as reivindicações de segurança entre duas partes, contendo informações sobre a autenticação do usuário e os atributos necessários para autorização.

Mecanismos de Consentimento.

Permitir que o usuário controle quais informações são compartilhadas com aplicativos de terceiros, aumentando a transparência e a confiança.

Criptografia e Assinaturas Digitais.

Garante a integridade e a segurança das comunicações entre o cliente e o servidor de autorização e os recursos protegidos. Podendo ser validada a identidade do servidor, mitigando ataques de Man in the Middle MiTM ou validar a identidade de ambos, cliente e servidor, fazendo uso de Mutual Tranport Layer Security MTLS.

Usar um Authorization Server com essas características e protocolos em aplicativos móveis não apenas fortalece a segurança do sistema, mas também melhora a experiência do usuário, facilita a gestão de acessos e integrações, e suporta a conformidade com regulamentações de privacidade e proteção de dados.

Fontes:

--

--

Wagner Iatalessi do Valle
Wagner Iatalessi do Valle

Written by Wagner Iatalessi do Valle

Desenvolvi minha carreira na área da Tecnologia da Informação, atuando em empresas nacionais e multinacionais de grande porte nos segmentos de tecnologia.

No responses yet