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

Á

Álvaro Moura

Última atualização em Jul 6, 2026

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 automatizar partes monótonas.

Com a nova funcionalidade de login via conta Googleno 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. 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!

Info

Se você estiver utilizando o módulo de segurança antigo, será necessário realizar uma migração para o novo. Se você possui dúvidas ou não sabe como migrar, leia o tutorial de migração de módulo!

Warning

Sempre realize um backup de segurança antes de qualquer alteração!

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":

  1. 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”:

  1. 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".

  1. 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

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

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

  1. 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, precisamos preparar o banco de dados do ambiente de produção e depois inserir as variáveis na aba de configurações do módulo de segurança:

  1. Realize o comando SQL "CREATE TABLE" no banco de dados em produção:

Notes

Se você já utilizava a opção de redes sociais com Twitter e/ou Facebook em produção, não é necessário realizar o CREATE TABLE.

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. );

  7. Realize o comando SQL "INSERT" na tabela sec_settings do banco de dados em produção:

  8. INSERT INTO sec_settings(set_name, set_value) VALUES ('auth_sn_position', 'below');

  9. INSERT INTO sec_settings(set_name, set_value) VALUES ('auth_sn_fb', 'N');

  10. INSERT INTO sec_settings(set_name, set_value)  VALUES ('auth_sn_fb_app_id', '');

  11. INSERT INTO sec_settings(set_name, set_value) VALUES ('auth_sn_fb_secret', '');

  12. INSERT INTO sec_settings(set_name, set_value) VALUES ('auth_sn_x', 'N');

  13. INSERT INTO sec_settings(set_name, set_value)  VALUES ('auth_sn_x_key', '');

  14. INSERT INTO sec_settings(set_name, set_value)  VALUES ('auth_sn_x_secret', '');

  15. INSERT INTO sec_settings(set_name, set_value)  VALUES ('auth_sn_google', 'N');

  16. INSERT INTO sec_settings(set_name, set_value)  VALUES ('auth_sn_google_client_id', '');

  17. INSERT INTO sec_settings(set_name, set_value) VALUES ('auth_sn_google_secret', '');

  18. 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"

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

  1. 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 adocumentação oficial da opção.

Abraços e até mais!