Atualizando o Módulo de Segurança para Suporte ao Login com Google

Atualizando o Módulo de Segurança para Suporte ao Login com Google

Com a substituição do protocolo NCP pelo protocolo TCP/IP da ARPANET, a internet ganhou espaço para evoluir constantemente. A medida que mais pessoas aderiam a internet, mais rápido as coisas precisavam acontecer, tornando o processo de evolução quase exponencial: quanto mais rápido um serviço, mais rápido queríamos que ele ficasse. Hoje em dia, tal rapidez pode, em muitas ocasiões, ser traduzida como o que chamo de "centralizar e automatizar": centralize os serviços num sistema e torne-o fácil de ser acessado, retirando os passos monótonos.

Com a nova funcionalidade de login via conta Google
no módulo de segurança, é possível aproveitar todas as camadas de segurança do ecossistema Google, enquanto mantemos um alto nível de agilidade, resultando numa experiência extremamente satisfatória ao usuário final.

Neste artigo, aprenderemos como atualizar o módulo de segurança para que tenhamos esse recurso poderoso em nosso sistema.
Info
Atente-se que será necessário ter as credenciais "ClientID" e "Secret" da biblioteca Google Identity Service previamente configurada para utilizar essa funcionalidade. Se você possui dúvidas ou não sabe como criar e configurar a biblioteca, leia o tutorial de como configurar o Google Identity Service!

Se eu não utilizava a opção de redes sociais

Caso seu módulo de segurança não utilize a opção de login com redes sociais, será necessário prepará-lo para receber está nova função. Para isso, criaremos uma nova tabela no banco de dados chamada "sec_users_social": 

Notes
Se o seu módulo de segurança já utiliza a opção de redes sociais com Twitter e/ou Facebook, pule para a próxima seção.
Warning
O Database builder não está disponível para todos os SGBDs. É possível realizar as mesmas alterações utilizando qualquer ferramenta que permita gerenciar bancos de dados — como o Dbeaver, por exemplo.

1. Acesse o Database Builder em "Database → Database builder": 


2. Procure pela opção "Comando SQL": 

3. Realize o comando SQL "CREATE TABLE" com os campos "login", "resource" e "resource_id":
Alert
Note que os campos são do tipo VARCHAR(255), pois estamos utilizando MySQL para exemplificar. É preciso selecionar o tipo correspondente de acordo com seu SGBD.
  1. CREATE TABLE `sec_users_social` (
  2.   `login` VARCHAR(255) NOT NULL,
  3.   `resource` VARCHAR(255) NOT NULL,
  4.   `resource_id` VARCHAR(255) NOT NULL,
  5.   PRIMARY KEY (`login`, `resource`, `resource_id`)
  6. );

Atualizando o módulo com a nova opção

Com tudo configurado corretamente, basta atualizar o módulo de segurança:

1. Acesse Módulos → Segurança:

2. Clique em “Criar Módulo de Segurança”:

3. Selecione o tipo de segurança que será utilizada:
Notes
A opção só está disponível para os tipos "Grupo", "Aplicação" e "Usuário".
4. Selecione a conexão que possui as tabelas do seu módulo de segurança, escolha a opção "Usar tabelas existentes" e marque "Usar redes sociais":


5. Clique no botão recarregar “↻” para que o Scriptcase possa ver as alterações na tabela e clique em “Prosseguir”:


6. Associe os campos às colunas correspondentes e clique em “Prosseguir”:

USUÁRIO

  • Tabela→ sec_users
  • Login → login
  • Senha → pswd
  • Nome→ name
  • Telefone → phone
  • Cargo → role
  • E-mail → email
  • Ativo→ active
  • O código de ativação → activation_code
  • Privilégio de administrador → priv_admin
  • Autenticação de dois fatores (2FA) → mfa
  • Foto → picture
  • Última alteração de senha → pswd_last_updated
  • Tempo de revalidação→ mfa_last_updated

GRUPO:

  1. Tabela → sec_groups
  2. ID → group_id
  3. Descrição → description


APLICAÇÃO

  • Tabela → sec_apps
  • Nome da Aplicação → app_name
  • Descrição → description
  • Tipo de Aplicação → app_type


USUÁRIO/GRUPO:

  • Tabela → sec_users_groups
  • Login → login
  • Código do Grupo → group_id



GRUPO/APLICAÇÃO:

  • Tabela → sec_groups_apps
  • Código do Grupo → group_id
  • Nome da Aplicação → app_name
  • Privilégio de Acesso → priv_access
  • Privilégio de Inserção → priv_insert
  • Privilégio de exclusão → priv_delete
  • Privilégio de atualização → priv_update
  • Privilégio de exportação → priv_export
  • Privilégio de Imprimir → priv_print

REDES SOCIAIS:

  • Tabela → "sec_users_social"
  • Login → "login"
  • Tipo de rede social → "resource"
  • ID da rede social → "resource_id"

CONFIGURAÇÕES:

  • Tabela → sec_settings
  • Nome → set_name
  • Valor → set_value

7. Em "Geral", escolha o prefixo das aplicações do novo módulo:

8. Preencha a aba “Configurações de e-mail”:


9. Em "Rede social", selecione "Google" e preencha os campos "ClientID" e "Secret". Após isso, clique em "Gerar segurança":


10. A aba Salvar Perfil é opcional — é possível ler mais sobre ela na documentação do novo módulo de segurança. Clique em “OK”: 

Configurando no ambiente de produção

Ao publicar o projeto, é possível que a opção de login com Google ainda não esteja funcionando corretamente. Isso acontece porque é preciso configurar "ClientID" e "Secret" também no ambiente de produção. Para isso, basta acessarmos a aba de configurações do módulo de segurança:

1. No menu do módulo de segurança, acesse a aplicação app_settings:
Info
Por padrão, ela está vinculada ao atalho de nome  "Configurações"


2. Vá até a aba "Autenticação via redes sociais", habilite a opção "Google" e preencha os campos "Client ID" e "Secret":


3. Clique em "Ok" para salvar as alterações.

Conclusão

Neste artigo, aprendemos sobre o Google Authentication e como implementá-lo no módulo de segurança do Scriptcase.
Para dúvidas relacionadas ao módulo de segurança, acesse a documentação oficial do módulo de segurança.
Para dúvidas relacionadas à opção de rede social, acesse a documentação oficial da opção

Abraços e até mais!
    • Related Articles

    • Atualizando o Módulo de Segurança para Suporte ao Novo LDAP

      LDAP é um protocolo amplamente utilizado para gerenciamento e autenticação de usuários em redes corporativas. Ele permite que aplicações se conectem a um diretório centralizado com o ACtive Directory, para validar as credenciais e obter informações ...
    • Criando a chave de Api do Google Maps

      Neste artigo veja como habilitar e obter a chave para utilização do Google Maps nas aplicações do Scriptcase. Acessando a Plataforma do google Maps 1. Acesse o link https://mapsplatform.google.com/ para criar sua chave. Será necessário realizar login ...
    • Atualizando o Módulo de Segurança: como migrar do antigo para o novo

      Os ataque às aplicações web estão sempre evoluindo. Com o dado sendo uma moeda tão valiosa, é de extrema importância manter a segurança de um sistema atualizada para evitar perdas. O novo módulo de segurança, além de ser extremamente flexível e ...
    • Autenticação de dois Fatores do Módulo de Segurança - Google Authenticator

      O Google Authenticator gera códigos da verificação em duas etapas no seu smartphone . A verificação em duas etapas oferece maior segurança para sua conta pois dessa forma exige uma segunda etapa de verificação no login além da senha. Configuração da ...
    • Atualização da aplicação de sincronizar do módulo de segurança

      Visando aprimorar a segurança em nossos projetos, realizamos várias mudanças nos arquivos das aplicações. Uma dessas alterações afetou um arquivo crucial, que informa o tipo das aplicações ao realizar a sincronização no módulo de segurança. Para ...