Português (Brasil)
  • consentimento
  • sso
  • autenticação
  • idp

Introdução à tela de consentimento do usuário

O que é a tela de consentimento do usuário e como ela funciona? Este artigo explica as ideias básicas por trás da tela de consentimento do usuário e como ela deve ser usada.

Simeng
Simeng
Developer

O que é a tela de consentimento do usuário

Imagine que você está se inscrevendo em um novo aplicativo social usando sua conta do Google. Você clica no botão "Entrar com Google" e é redirecionado para o Google para completar o processo de login. Após autenticar com sucesso no Google, você é redirecionado para uma página que pede para conceder a este aplicativo acesso ao seu perfil da conta do Google. Algo assim:

Tela de Consentimento do Google

Esta página é o que chamamos de página de consentimento ou tela de consentimento. É um elemento de interface do usuário exibido por aplicativos ou sites durante o processo de integração. Seu principal objetivo é informar os usuários sobre a coleta, processamento e uso de seus dados pessoais e buscar seu acordo ou consentimento explícito para essas atividades.

Em uma página de consentimento, os usuários geralmente são apresentados com informações sobre os tipos de dados que serão coletados, como serão usados e se serão compartilhados com terceiros. Esta informação é crucial para a transparência, permitindo que os usuários tomem decisões informadas sobre sua privacidade e segurança de dados.

Páginas de consentimento são particularmente importantes no contexto de regulamentações de privacidade, como o Regulamento Geral sobre a Proteção de Dados (GDPR) na União Europeia ou o California Consumer Privacy Act (CCPA) nos Estados Unidos, que exigem que as organizações obtenham consentimento claro e afirmativo dos usuários antes de processar suas informações pessoais.

Quando precisamos de uma tela de consentimento?

Antes de podermos responder a esta pergunta, precisamos entender alguns conceitos básicos sobre autenticação de usuário.

Provedor de Identidade (IdP) e Provedor de Serviço (SP)

Como mencionado acima, o principal objetivo da tela de consentimento é informar os usuários sobre a coleta, processamento e uso de seus dados pessoais e buscar seu acordo ou consentimento explícito para essas atividades. Portanto, precisamos de uma tela de consentimento quando estamos coletando, processando ou usando dados pessoais que pertencem a outra parte, como o Google.

No contexto da autenticação de usuário, chamamos a parte que possui os dados do usuário de Provedor de Identidade (IdP). Já para o aplicativo que está solicitando acesso aos dados do usuário, chamamos de Provedor de Serviço (SP). No exemplo acima, o Google é o IdP e o aplicativo social é o SP.

O IdP é responsável por autenticar o usuário e fornecer as informações do perfil do usuário para o SP. O SP é a parte que precisa das informações do perfil do usuário para fornecer seus serviços.

Single sign-on (SSO)

No exemplo acima, o aplicativo social está usando o Google como seu IdP. Este é um cenário comum na indústria. Muitos aplicativos usam Google, Facebook ou outros serviços de terceiros como seu IdP. Isso é chamado de Single Sign-On (SSO). SSO é uma propriedade de controle de acesso de vários sistemas de software relacionados, mas independentes. Com esta propriedade, um usuário faz login com um único ID e senha para ter acesso a qualquer uma de várias aplicações relacionadas. Você pode consultar CIAM 101: Autenticação, Identidade, SSO para mais detalhes.

IdP de primeira parte vs IdP de terceiros

IdP de primeira parte é um IdP que pertence à mesma organização que o SP. O SP pode até compartilhar o mesmo nome de domínio que o IdP. Então, o SP está solicitando acesso aos dados do usuário que pertencem à mesma organização. Por exemplo, se você estiver usando o Google Workspace, então o Google é seu IdP de primeira parte.

IdP de terceiros, por outro lado, é um IdP que pertence a uma organização diferente do SP. O SP está solicitando acesso a dados do usuário que não pertencem a ele próprio. Por exemplo, se você estiver usando o Google como seu IdP e fizer login em um aplicativo social como no exemplo acima, então o Google é um IdP de terceiros para o aplicativo social.

Consentimento do usuário

Sempre que um usuário faz login em um aplicativo, é crucial que o usuário esteja ciente de quais dados estão sendo coletados e como serão usados.

Para IdP de primeira parte, esses tipos de informações são geralmente cobertos na política de privacidade e nos termos de serviço da organização. O usuário geralmente é obrigado a concordar com a política de privacidade e os termos de serviço antes de se inscrever para o serviço. Portanto, o usuário já está ciente de quais dados estão sendo coletados e como serão usados. Nesse caso, o consentimento do usuário é implícito.

No entanto, é importante que o IdP mantenha controle rigoroso sobre os dados que possui. O IdP não deve permitir que nenhum SP de terceiros acesse os dados do usuário sem o consentimento explícito do usuário. Qualquer acesso a dados por um SP de terceiros é considerado uma atividade de compartilhamento de dados. O usuário deve ser informado sobre a atividade de compartilhamento de dados e deve consentir explicitamente com ela.

Portanto, para IdP de terceiros, o consentimento do usuário é sempre necessário. É por isso que todos os principais IdPs, como Google, Facebook e Microsoft, exigem que o SP exiba uma tela de consentimento ao usuário antes que ele possa fazer login no SP.

Por exemplo, no caso do Google, ao tentar criar um cliente OAuth do Google, você será solicitado a fornecer uma configuração detalhada da tela de consentimento.

Configuração da tela de consentimento do Google

Isso garante que o usuário esteja ciente da atividade de compartilhamento de dados e tenha consentido explicitamente com ela.

Quais informações devem ser incluídas na tela de consentimento?

Demonstração de Tela de Consentimento

É importante que a tela de consentimento forneça ao usuário informações suficientes para tomar uma decisão informada. Incluindo, mas não se limitando a:

  • Qual parte (SP) está solicitando acesso aos dados do usuário?
  • Qual é a identidade atual do usuário?
  • Quais dados do usuário estão sendo coletados?
  • Como os dados do usuário serão usados?
  • Quais serviços ou APIs adicionais fornecidos pelo IdP serão usados?
  • Quais permissões adicionais serão concedidas ao SP?
  • Qual é a política de privacidade do SP?

Todas as informações acima devem estar incluídas na tela de consentimento de forma precisa e clara. O usuário deve ser capaz de entender as informações sem qualquer ambiguidade. Isso é especialmente importante para os dados do usuário que estão sendo coletados e como serão usados.

É responsabilidade do IdP garantir que os dados do usuário sejam usados apenas para o propósito que o usuário consentiu. O IdP não deve permitir que o SP use os dados do usuário para qualquer outro propósito sem o consentimento explícito do usuário.

Conclusão

Em resumo, uma página de consentimento serve como um mecanismo para obter permissão explícita dos usuários em relação ao tratamento de seus dados, promovendo transparência e conformidade com as leis de privacidade. Atualmente, é exigido por todos os principais IdPs para SPs de terceiros e desempenha um papel importante na proteção da privacidade dos usuários e segurança dos dados. Especialmente se você estiver fornecendo um serviço de IdP de terceiros.