Currently, Firebase and the types of account providers included in the registration screen are tightly coupled. This setup limits flexibility and customization options for different authentication providers and configurations.
Solution
Detach Firebase and the decision of which types of account providers should be included in the screen from the core configuration of SpeziAccount.
Allow the configuration element of SpeziAccount to determine what account providers are proposed as options in the UI independently from Firebase.
Create a list of "AccountServiceProviders" that can be instantiated with Firebase-based authentication (e.g., Sign in with Google, Username and Password) but also make this independent of the generic Account module.
Ensure that the elements required during sign-up can be configured without any attachment to a specific AccountServiceProvider.
Additional context
This enhancement will provide greater flexibility and allow for the use of different authentication providers (e.g., AWS, custom solutions) without being tied to Firebase. It will also enable the registration screen to be more dynamically configured based on the needs of the project.
Code of Conduct
[X] I agree to follow this project's Code of Conduct and Contributing Guidelines
Problem
Currently, Firebase and the types of account providers included in the registration screen are tightly coupled. This setup limits flexibility and customization options for different authentication providers and configurations.
Solution
Additional context
This enhancement will provide greater flexibility and allow for the use of different authentication providers (e.g., AWS, custom solutions) without being tied to Firebase. It will also enable the registration screen to be more dynamically configured based on the needs of the project.
Code of Conduct