Visão geral
Este caso de uso descreve a implementação do login de usuário baseado em atributos no Drupal usando o módulo cliente OAuth do miniOrange. A autenticação e identificação do usuário são realizadas usando atributos recebidos de um provedor de identidade OAuth durante o Single Sign-On (SSO).
Pré-requisitos:
Nesta seção, discutiremos tudo, desde os requisitos e o processo de implementação até os resultados.
- Cliente OAuth miniOrange O módulo (versão 8.x ou superior) está instalado e ativado.
- Acesso de administrador à configuração do módulo.
- O provedor OAuth está configurado e acessível.
- Os atributos de usuário necessários estão disponíveis no token OAuth.
Problema
Se o seu site Drupal depende de um provedor de identidade externo para autenticar usuários, as coisas podem ficar complicadas quando suas informações locais, como nomes de usuário ou e-mails, não correspondem às informações do provedor de identidade. Essa incompatibilidade causa diversos problemas. Você pode acabar com contas de usuário duplicadas. Às vezes, o sistema associa usuários às contas erradas quando eles tentam fazer login. Os perfis de usuário podem ficar desatualizados e você acaba tendo que fazer muito trabalho manual para manter tudo organizado. Pior ainda, esses problemas podem abrir caminho para acessos não autorizados. É um verdadeiro transtorno.
Solução
Ao habilitar o recurso de login baseado em atributos no módulo Drupal OAuth Client, os administradores do site podem escolher quais atributos OAuth atuarão como identificadores principais/primários do usuário, gerenciando tanto a autenticação quanto a criação de usuários.
Adicionar isso ao seu site Drupal requer algumas etapas de configuração importantes:
Configuração do identificador de login SSO
- Os administradores podem configurar um atributo específico do servidor OAuth para ser usado como identificador de login SSO. Esse atributo funciona como a chave primária para identificação do usuário durante a autenticação.
- Você configura o Identificador de Login SSO escolhendo um atributo do seu servidor OAuth, geralmente algo como um endereço de e-mail, um nome de usuário ou talvez um ID de funcionário ou ID de usuário externo. Quando alguém tenta fazer login, o Drupal verifica se existe uma conta de usuário que corresponda ao valor desse atributo. Dessa forma, você sempre obtém uma correspondência confiável entre o usuário OAuth e a conta Drupal, sem necessidade de adivinhação.
Fluxo de autenticação e identificação
- O usuário inicia o login a partir da aplicação Drupal.
- O usuário é redirecionado para o provedor OAuth.
- A autenticação é concluída no provedor de identidade.
- O token OAuth contendo os atributos do usuário é retornado ao Drupal.
- O atributo de login SSO configurado é avaliado.
- A conta de usuário foi correspondida ou criada.
- Os atributos mapeados são sincronizados com o perfil de usuário do Drupal.
- Sessão de usuário estabelecida
Configuração
Atributo de login SSO
- Um único atributo do servidor OAuth é selecionado para identificar os usuários durante o login. Os atributos suportados incluem, entre outros:
- E-mail
- Nome de Utilizador
- Este atributo é usado para localizar usuários existentes do Drupal durante o SSO (Single Sign-On).
Mapeamento de Atributos
- Os atributos do servidor OAuth são mapeados para os campos de usuário do Drupal.
- Exemplos:
- email → correio
- nome → nome
- departamento → departamento_de_campo
- Os atributos mapeados são atualizados a cada login bem-sucedido.
Benefícios
- Identificação determinística do usuário.
- Sincronização de identidade consistente.
- Redução de despesas administrativas.
- Fluxo de autenticação seguro e escalável.
Conclusão
O login baseado em atributos usando o cliente OAuth miniOrange fornece um mecanismo confiável para identificação de usuários em aplicações Drupal integradas a provedores de identidade OAuth. Ao avaliar os atributos OAuth durante a autenticação, o Drupal garante a correspondência precisa do usuário, o provisionamento automatizado e o gerenciamento consistente de identidades.