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 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. Neste artigo, aprenderemos como atualizar o módulo de segurança para que tenhamos esse recurso poderoso em nosso sistema.

![Info](https://static.zohocdn.com/zoho-desk-editor/static/images/info.png/)

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!](https://help.scriptcase.net/portal/pt/kb/articles/habilitando-a-biblioteca-google-identity-service)

![Info](https://static.zohocdn.com/zoho-desk-editor/static/images/info.png/)

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](https://help.scriptcase.net/portal/pt/kb/articles/migracao-modulo-de-seguranca)!

![Warning](https://static.zohocdn.com/zoho-desk-editor/static/images/caution.png/)

Sempre realize um [backup de segurança](https://help.scriptcase.net/portal/pt/kb/articles/backup-10-7-2020) 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](https://static.zohocdn.com/zoho-desk-editor/static/images/file.png/)

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](https://static.zohocdn.com/zoho-desk-editor/static/images/caution.png/)

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

![](https://help.scriptcase.net/galleryDocuments/edbsnd2559cf7663e60b022aa726c0c3cc6867f552fd023d67c7fa86db739791ede91af70b2cfd98c9038b353179c010fa45c?inline=true)

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

![](https://help.scriptcase.net/galleryDocuments/edbsn27165ed8e5e10b98d0f16b656b93ae272f4c4f4a098818e26ff59b5ad0a6a58696200f55da47ba6d2855c68dbd01e84c?inline=true)

3. Realize o comando SQL "CREATE TABLE" com os campos "login", "resource" e "resource\_id":

![Alert](https://static.zohocdn.com/zoho-desk-editor/static/images/exclamation.png/)

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.](https://drive.google.com/file/d/1J_V9RlX9CEMxmdRUMs3gvzBvTJpU-oGf/view?usp=sharing)

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

![](https://help.scriptcase.net/galleryDocuments/edbsnf47f81bd80f26c150eee4f4a39e866abae023fe4159aef77efe901fc97cb523f1373b90cf46d601547b817727485ad50?inline=true)

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

![](https://help.scriptcase.net/galleryDocuments/edbsne65ed08f91ae15eee711d52a3d38717e249ca8647f2b56266b7b873bed53495048b9de7df9ab25be9e5230b0b817608e?inline=true)

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

![](https://help.scriptcase.net/galleryDocuments/edbsn95d4956d9a458c4ed92716a5d6e397b14e29cf4889169bc715846d3a80be88e2ae03ab748b1290eedf40359a9b27f0a6?inline=true)

3. Selecione o tipo de segurança que será utilizada:

![Notes](https://static.zohocdn.com/zoho-desk-editor/static/images/file.png/)

A opção só está disponível para os tipos "Grupo", "Aplicação" e "Usuário".

![](https://help.scriptcase.net/galleryDocuments/edbsn95d4956d9a458c4ed92716a5d6e397b1ed4b9512ef05878933e7696d003072ce21de7ff57e986b1c0e667613586772ae?inline=true)

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

![](https://help.scriptcase.net/galleryDocuments/edbsn354041314ccbf5f451994f0a726404bdd1ce49d2b68b5136c559f97f52f5dc7be2d777427be710df0ac707661db26af0?inline=true)

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

![](https://help.scriptcase.net/galleryDocuments/edbsn3c36beb32d123637639b0549e7e73707acac89525f92888cae8d0d2be672f8a305244885214c8d66d47997c4dbd557ea?inline=true)

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

![](https://help.scriptcase.net/galleryDocuments/edbsnd7fcaeb4c9014c8ae58beceb38deb7a7eada22d9e783f005c07a3527799577a3cc42643f24644956e1515910df3c0810?inline=true)

### GRUPO:

1. Tabela → sec\_groups
2. ID → group\_id
3. Descrição → description

![](https://help.scriptcase.net/galleryDocuments/edbsnb41f8cfbfa270aec45c7018950fcb2bf43e5f521e1d735d8813a715cce7c2fb92ab372cadd3c9134248cc47a96aa2a3c?inline=true)

### APLICAÇÃO

- Tabela → sec\_apps
- Nome da Aplicação → app\_name
- Descrição → description
- Tipo de Aplicação → app\_type

![](https://help.scriptcase.net/galleryDocuments/edbsn930c686cc27625cda7c53ac1d26935cfda428908abe207ef102b189cb75a62aa8eef296b55f116b68595dedbdef0215b?inline=true)

### USUÁRIO/GRUPO:

- Tabela → sec\_users\_groups
- Login → login
- Código do Grupo → group\_id

![](https://help.scriptcase.net/galleryDocuments/edbsne6ef7eb7b2d88db432176cd3d36a52f25e0317a87815d1549b3db1154bdbe90ab37180c548328b4f332d9e70c0f0fd5b?inline=true)

### 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

![](https://help.scriptcase.net/galleryDocuments/edbsn4956a505aa7a81670ed764cbd3dcfa49a9e931b2fe60b29aa2c92975bbbd90e2dbe8e142532fc501318840c9a72b4e11?inline=true)

### REDES SOCIAIS:

- Tabela → "sec\_users\_social"
- Login → "login"
- Tipo de rede social → "resource"
- ID da rede social → "resource\_id"

![](https://help.scriptcase.net/galleryDocuments/edbsn9719c8695e9b092b3474ea0ac64a263bd6f51ca1fdeeb1ec7eab5134b7ce15143468ec5b2271ad43429deed6acf92218?inline=true)

### CONFIGURAÇÕES:

- Tabela → sec\_settings
- Nome → set\_name
- Valor → set\_value

![](https://help.scriptcase.net/galleryDocuments/edbsnf1d5085addeb009ff6ee69289ac4ce16c075d99374dcbfc2eb400e75f4569639f9dea57ed54542cdcf15844daaa9097d?inline=true)

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

![](https://help.scriptcase.net/galleryDocuments/edbsn15b178f869165d94d64ac94f3d7027277d337bfe7d40ed1e9f7cd0c45af24e754fb0b0fcb55b34a5278b61c8d055425d?inline=true)

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

![](https://help.scriptcase.net/galleryDocuments/edbsn15b178f869165d94d64ac94f3d7027275c069cd2fc8df7bacc3681ad28248bf484bb0276dccfd9a65523742a4ae00034?inline=true)

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

![](https://help.scriptcase.net/galleryDocuments/edbsn3d43b56d86e7363ad79cf41ba6ecbb10ed59a1e92c8fda995cc5e1dc81590e2f879aae6c47ff1726c575aa603493b84e?inline=true)

10. A aba Salvar Perfil é opcional — é possível ler mais sobre ela na [documentação do novo módulo de segurança](https://www.scriptcase.com.br/docs/pt_br/v9/manual/10-modulos/03-modulo-de-seguranca/01-visao-geral/). Clique em “OK”:

![](https://help.scriptcase.net/galleryDocuments/edbsnb31de95bf8720c85f4edf9dd0de649110f96bf87f82587b9af2c7451f83ba1350f26aadb122b22e90450ed2902207b3a?inline=true)

## 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](https://static.zohocdn.com/zoho-desk-editor/static/images/file.png/)

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](https://static.zohocdn.com/zoho-desk-editor/static/images/exclamation.png/)

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](https://drive.google.com/file/d/1J_V9RlX9CEMxmdRUMs3gvzBvTJpU-oGf/view?usp=sharing).

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

2. Realize o comando SQL "INSERT" na tabela sec\_settings do banco de dados em produção:

1. INSERT INTO sec\_settings(set\_name, set\_value) VALUES ('auth\_sn\_position', 'below');
2. INSERT INTO sec\_settings(set\_name, set\_value) VALUES ('auth\_sn\_fb', 'N');
3. INSERT INTO sec\_settings(set\_name, set\_value)  VALUES ('auth\_sn\_fb\_app\_id', '');
4. INSERT INTO sec\_settings(set\_name, set\_value) VALUES ('auth\_sn\_fb\_secret', '');
5. INSERT INTO sec\_settings(set\_name, set\_value) VALUES ('auth\_sn\_x', 'N');
6. INSERT INTO sec\_settings(set\_name, set\_value)  VALUES ('auth\_sn\_x\_key', '');
7. INSERT INTO sec\_settings(set\_name, set\_value)  VALUES ('auth\_sn\_x\_secret', '');
8. INSERT INTO sec\_settings(set\_name, set\_value)  VALUES ('auth\_sn\_google', 'N');
9. INSERT INTO sec\_settings(set\_name, set\_value)  VALUES ('auth\_sn\_google\_client\_id', '');
10. INSERT INTO sec\_settings(set\_name, set\_value) VALUES ('auth\_sn\_google\_secret', '');

3. No menu do módulo de segurança, acesse a aplicação app\_settings:

![Info](https://static.zohocdn.com/zoho-desk-editor/static/images/info.png/)

Por padrão, ela está vinculada ao atalho de nome  "Configurações"

![](https://help.scriptcase.net/galleryDocuments/edbsnbf6d266224ae42aec9035e27b9ebeaaa11f66d6c4d52f9e3db73993d358f6654ab653114ba5a48192f08eec9ad5c43b2?inline=true)

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

![](https://help.scriptcase.net/galleryDocuments/edbsn54587ac193193d54aff6b24fea775ff39d0012e2952dcaa2fdd12e27729ff09ea518f19a8a159833e712bd4eb979b5b4?inline=true)

5. 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](https://www.scriptcase.com.br/docs/pt_br/v9/manual/10-modulos/03-modulo-de-seguranca/01-visao-geral/).

Para dúvidas relacionadas à opção de rede social, acesse a[documentação oficial da opção](https://www.scriptcase.com.br/docs/pt_br/v9/manual/10-modulos/03-modulo-de-seguranca/02-seguranca-por-grupo/05-configuracoes/06-rede-social/).

Abraços e até mais!