Onde se instala: o menu Settings › Authentication
A página do Odoo Apps apresenta o módulo com o título SSO and two-factor login for Odoo Community. Depois de instalado, tudo fica em Settings › Authentication. Aí encontra sete entradas, que agrupamos aqui por tema. Os nomes estão tal como aparecem no ecrã.
Ligação ao fornecedor de identidade
IdP Connections- Caminho
Settings › Authentication › IdP Connections. É a lista de ligações a fornecedores de identidade (IdP). Na captura abaixo aparecem dois registos, Google Workspace OIDC e Microsoft Entra ID SAML, com colunas de protocolo, empresa, ativo, aprovisionamento JIT e modo de recurso.
Provisioning Log- Caminho
Settings › Authentication › Provisioning Log. Um registo próprio para o aprovisionamento, separado do registo de eventos de autenticação.

IdP Connections com dois registos e as colunas de protocolo, empresa, ativo, aprovisionamento JIT e modo de recurso.Duplo fator
MFA Policies- Caminho
Settings › Authentication › MFA Policies. O sítio onde ficam as políticas de duplo fator (MFA).
MFA Coverage Report- Caminho
Settings › Authentication › MFA Coverage Report. No fluxo animado aparece como uma lista com duas políticas, Admin MFA Enforcement e Regular User MFA, com empresa, tipos de fator aceites, período de tolerância e estado ativo.
Controlo e auditoria
Auth Event Log- Caminho
Settings › Authentication › Auth Event Log. O registo de eventos de autenticação do módulo.
Active Sessions- Caminho
Settings › Authentication › Active Sessions. Uma lista de sessões com colunas de início, utilizador, ligação IdP, método de autenticação, IP e última atividade, e um botãoTerminate.
Settings- Caminho
Settings › Authentication › Settings. A entrada de definições do próprio módulo, dentro do mesmo menu.


MFA Coverage Report com duas políticas MFA.Os registos por dentro: os modelos do módulo
Se é consultor ou vai mexer em permissões de acesso, relatórios ou importações, convém saber como se chamam os modelos técnicos. Além de flexigo.active.session (descrição FlexigoTech Active Session), flexigo.event.log (FlexigoTech Authentication Event Log) e flexigo.fido2.credential (FlexigoTech FIDO2 Credential), estes são os que convém reconhecer:
Modelos da parte de identidade
flexigo.idp.connection- Descrição
FlexigoTech IdP Connection. O modelo das ligações a fornecedores de identidade.
flexigo.idp.attribute.mapping- Descrição
FlexigoTech IdP Attribute Mapping. Um modelo à parte para o mapeamento de atributos do IdP.
flexigo.idp.group.mapping- Descrição
FlexigoTech IdP Group Mapping. Outro modelo à parte, este para o mapeamento de grupos do IdP.
flexigo.idp.user.binding- Descrição
FlexigoTech IdP User Binding. O modelo que guarda a associação entre IdP e utilizador.
Modelos de controlo de acesso
flexigo.mfa.exemption- Descrição
FlexigoTech MFA Exemption. O modelo das isenções de MFA.
flexigo.access.recheck- Descrição
FlexigoTech access check after a write. Segundo a descrição, uma verificação de acesso depois de uma escrita. Herdam-no seis modelos:flexigo.active.session,flexigo.fido2.credential,flexigo.idp.attribute.mapping,flexigo.idp.group.mapping,flexigo.idp.user.bindingeflexigo.mfa.exemption.
Se desenvolver por cima do módulo, tenha em conta essa herança: os seis modelos referidos partilham a base flexigo.access.recheck.
O que corre sozinho: as ações agendadas
O módulo traz nove ações agendadas, todas ativas. Todas têm o prefixo Flexigo Auth:, por isso pode pesquisá-las por esse texto. Ordenadas da mais para a menos frequente:
Flexigo Auth: Failed-Login Pattern Scan, a cada 5 minutos.Flexigo Auth: Concurrent Session Cleanup, a cada 15 minutos.Flexigo Auth: IdP Metadata Auto-Refresh, a cada 24 horas.Flexigo Auth: Audit Log Anonymisation, todos os dias.Flexigo Auth: Certificate Expiry Check, todos os dias.Flexigo Auth: MFA Grace-Period Enforcement, todos os dias.Flexigo Auth: Recovery Code Batch Cleanup, a cada 7 dias.Flexigo Auth: MFA Coverage Monthly Snapshot, todos os meses.Flexigo Auth: Annual Security Statistics, a cada 12 meses.
As duas primeiras são as que correm mais vezes; as restantes vão de diárias a anuais. Se rever a atividade da sua base de dados, são estes os nomes que tem de reconhecer.
Que peças tocam num mesmo acesso
Com o que os ecrãs mostram, pode seguir o rasto de um acesso entre menus. Uma ligação vive em IdP Connections (modelo flexigo.idp.connection), com os mapeamentos de atributos e de grupos e as associações de utilizador em modelos próprios. A lista Active Sessions mostra, em cada sessão, a ligação IdP e o método de autenticação, por isso a partir daí vê que ligação está por trás de cada sessão. As políticas de duplo fator estão em MFA Policies, e o MFA Coverage Report mostra-as com o período de tolerância e o estado ativo. Os eventos e o aprovisionamento ficam nos seus dois registos, Auth Event Log e Provisioning Log.
Os campos a preencher e os estados de cada registo estão em a configuração inicial do módulo. Se uma mensagem o travar pelo caminho, veja os erros e avisos com o texto literal.
O que precisa de saber sobre o serviço e as versões
O módulo está publicado no Odoo Apps para 17.0, 18.0, 19.0 e 20.0, a 9 € por versão do Odoo em pagamento único, sem IVA, nas quatro. A página avisa que algumas funções usam um serviço externo pago: é o serviço local do FlexigoTech Cloud, a 29 €/mês ou 290 €/ano sem IVA (Pro: 58 €/mês ou 580 €/ano). Sem subscrição, ou com o serviço suspenso, para o que a subscrição fornece; os dados ficam no seu Odoo. Com a subscrição, o módulo para as novas versões do Odoo está incluído se o comprou em flexigotech.com; na Odoo App Store, cada versão compra-se lá. A página inclui também a secção Privacy policy.
Como a FlexigoTech o ajuda
Na FlexigoTech implementamos Odoo 17, 18, 19 e 20 e desenvolvemos conectores e integrações à medida, por isso podemos ajudá-lo a deixar este menu configurado ou a adaptar o módulo ao seu caso. Tem os detalhes em a página do módulo e em a sua página no Odoo Apps. Se ainda tem dúvidas sobre se encaixa, comece por o que cobre e o que é preciso antes de o instalar.
Continue a ler
Verificado no código do módulo (versão 20.0) e nas fontes indicadas
Fontes
- Código do módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): views/menus.xml
- Código do módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): data/ir_cron_data.xml
- Código do módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): static/description/index.html
- Código do módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/access_recheck.py
- Código do módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_active_session.py
- Código do módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_event_log.py
- Código do módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_fido2_credential.py
- Código do módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_idp_attribute_mapping.py
- Código do módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_idp_connection.py
- Código do módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_idp_group_mapping.py
- Código do módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_idp_user_binding.py
- Código do módulo: flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun paquete-BO/20.0 (249f0717): models/auth_mfa_exemption.py
- apps.odoo.com/apps/modules/20.0/flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun
- apps.odoo.com/apps/modules/17.0/flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun
- apps.odoo.com/apps/modules/18.0/flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun
- apps.odoo.com/apps/modules/19.0/flexigo_2fa_sso_saml_oidc_modern_bundle_for_odoo_commun
- flexigotech.com/en/services.html
- flexigotech.com/precios.html
