Summary
Description
The email system currently works with only one Identity Provider.
This IdP is tightly coupled to the system.
We need to introduce a pluggable IdP interface so that any IdP can be connected without changing the core email code.
The email system should use a common interface for authentication and user lookup, and each IdP should be implemented as a separate module.
Why is this feature needed?
- The email system is not tied to a single IdP
- New IdPs can be added easily
- Existing idp integration works through the new interface
Alternatives Considered
No response
Additional Context
Acceptance Criteria
- A common IdP interface is defined
- Existing idp uses this interface
- IdP can be selected using the configuration