Autenticação como Serviço — Overview

Stefan Horochovec
horochovec
Published in
3 min readMay 4, 2016

Olá pessoal,

O objetivo desse post é comentar um pouco sobre autenticação de aplicações, fazendo uma reflexão sobre as nossas atuais necessidades (desenvolvedores) bem como as expectativas de nossos usuários.

É fato que 99.9% os softwares que vamos trabalhar necessitam de controle de acesso, e muitos deles passarão por um controle de privilégios, então sempre que iniciamos um novo projeto vamos ter que enfrentar definições nesse sentido.

Alguns fatores que influenciam a tomada de decisão referente a autenticação são as integrações, sendo elas através de legados em nossa empresa, aplicativos de terceiros ou protocolos de autenticação como SAML, OpenID, WS-Federation, dentre outros.

Outros pontos comuns referentes a autenticação em um estado mais avançado dizem respeito a necessidades técnicas como Touch ID, Multifactor Authetication, Single Sign On e Login através das várias redes sociais.

E caso nossa aplicação possua versões web e móvel, nos dispositivos móveis podemos ter o agravante de desenvolvermos todas as rotinas de segurança em mais de uma tecnologia, caso a opção seja pelo desenvolvimento nativo.

Ok, então chegamos a conclusão que a “primeira tela” do software talvez vai consumir muito mais tempo que o planejado inicialmente, pois convenhamos, quando visualizamos a tela de login e informamos nosso email e a nossa senha e pressionamos o botão “Acessar”, não parece existir tanta coisa por trás disso não é?

Felizmente vivemos na era *aaS. Muitas coisas que precisamos para nossos aplicativos já estão disponíveis como serviço na Internet. A alguns anos atrás era comum pedirmos um orçamento de uma alocação de servidor em um provedor de Internet da sua cidade para hospedarmos uma pequena aplicação, hoje, já existem provedores de serviços que nos garantem que é possível obter um servidor novo, na nuvem, pronto para ser operado em apenas 55 segundos por um preço extremamente baixo.

E essa facilidade de serviços referentes a infraestrutura — IaaS (Infraestrutura como Serviço), também se estende a vários softwares necessários para o desenvolvimento de Apps, no formato de PaaS (Plataforma como Serviço), aonde podemos obter serviços configurados, escaláveis, resilientes para executarmos nossas aplicações. Dentro desses serviços destacam-se: bancos de dados, servidores web, servidores de aplicações, serviços de armazenamento de arquivos, etc.

Ainda na linha de especialização da prestação de serviços na nuvem, temos a categoria de SaaS (Software como serviço). Essa categoria vem crescendo a cada dia, com serviços de terceiros que podemos consumir de acordo com nossa demanda e eles vem como objetivo resolver partes dos nossos desafios, reduzindo nosso tempo de implementação de rotinas que em muitas vezes são comuns em outros sistemas, permitindo que possamos focar em nossas regras de negócio.

Nesse sentido, gostaria de apresentar uma ferramenta para nos ajudar a resolver nossos problemas de autenticação, ajudando a reduzirmos o tempo de implementação e ao mesmo tempo prover o máximo de recurso para nossos usuários no que diz respeito a autenticações.

A Auth0, é uma plataforma de segurança que nos provê as mais diversas soluções no que diz respeito a autenticação de nossos usuários e possíveis integrações.

Dentre as suas principais features podemos destacar:

  • Diversos SDKs para a maioria das tecnologias web e mobiles utilizadas no mercado
  • Autenticação Multi-factor
  • Social Login (Google, Facebook, Twitter, etc)
  • Utilização on-premise ou na nuvem
  • Suporte a diversos protocolos de autenticação como: OAuth 2.0, OAuth 1.0a, Open ID, WS-Federation

Ao invés de criar um mega post, com milhares de informações, optei pela criação de uma série chamada Autenticando sua app na nuvem.

Essa série conta com os seguintes posts:

--

--