PMIS Federation Login
Log into a receiving Odoo 18 Community database through any explicitly trusted Odoo Hub/Provider or through an independent local password. One verified local user may link to several provider identities without merging people by email.
Features
Explicit provider selection alongside native local-password login.
Receiver-verified provider subjects linked to existing native accounts.
Several independent provider identities for one local user.
Receiver-owned company and non-privileged role policies.
Provider-attributed access withdrawal preserving surviving and local grants.
Signed assertions with pinned keys, PKCE, and replay protection.
Instance-local login/logout with bounded shared authorization and sessions.
Access and dependencies
Depends on pmis_federation_account and web. Install this addon on receiving databases and pmis_federation_provider on each chosen Hub. Company-scoped system administrators configure provider trust, verify account links, and define receiver-owned access policies.
Configuration
Register the receiving instance and exact HTTPS callback on its provider.
Configure Federation > Trusted Login Providers with the outgoing provider connection, registered client UUID, and matching callback.
Use Verified Provider Identities to verify the provider subject against an existing eligible local account. Email similarity is not verification.
Define Provider Access Policies for approved provider organizations, verified local operating-company mappings, and non-privileged receiver roles.
Supply externally pinned public keys and destination addresses in the original database's PMIS_FEDERATION_RUNTIME binding. Do not store credentials in directory records or login configuration views.
Use separate HTTPS hostnames and database routing for independent browser cookie scopes. Native database selection under one shared hostname does not provide simultaneous independent sessions.
See shared-login setup and ownership for runtime settings, key rollover, verified replacements, and exact protocol boundaries.
Usage
Choose a trusted provider on the receiver's native login page. Authenticate on that provider using its native credentials and configured MFA; successful verification returns to the receiver and establishes only that instance's session. The receiver never collects or forwards the provider password.
Alternatively, use the local-password form for an independently authorized native account. Authentication alone never creates accounts or links identities.
Sessions and access ownership
Shared authorization expires within five minutes without renewal. Sessions have a thirty-minute idle limit and an eight-hour absolute limit; renewal does not extend the absolute lifetime. During provider outages, existing shared sessions remain usable only until their current authorization deadline.
Logout affects only the current instance, not the provider or another receiver. A failed shared session never silently switches providers or becomes local login.
Receiver-owned grants preserve other providers' and independent local ownership on suspension, including overlapping roles and company access. Authorized local login remains independent during provider outages, subject to native account disablement and access leases.
Development
See the repository-wide development backlog.
Localization
English source strings and a Slovenian catalog (i18n/sl.po) are included.
Bug Tracker
Bugs are tracked on PMISuite Repository Issues.
Credits
Contributors
Matjaž Mozetič
Maintainers
Current maintainer:
Luxim is an independent R&D and deployment company focused on solving complex problems in the Odoo ecosystem.
Luxim is an active member of OCA (Odoo Community Association).





