[x] I've tested my changes by building and running the project, and testing changed functionality (if applicable)
[ ] I've added automated tests for my change (if applicable, optional)
[ ] I've updated documentation to reflect my change (if applicable)
What is the current behaviour?
This PR addresses #965. Depending on the OpenID Provider, usually provider offers additional resources that may tell us more about the specific user, but these resources are non-standard and specific for the provider. We may want to have a dedicated handler for these specific providers
What is the new behaviour?
Additional layer between mwdb.model.oauth.OpenIDProvider (now called OpenIDProviderSettings) and mwdb.core.oauth.OpenIDClient - mwdb.core.oauth.provider.OpenIDProvider that implements user and group creation and can be used to create own customized OpenIDProvider classes
Specialized provider class can be registered by plugin using PluginAppContext.register_openid_provider_class method
Test plan
[x] manual test: Implement customized provider and check if it works
Your checklist for this pull request
What is the current behaviour?
This PR addresses #965. Depending on the OpenID Provider, usually provider offers additional resources that may tell us more about the specific user, but these resources are non-standard and specific for the provider. We may want to have a dedicated handler for these specific providers
What is the new behaviour?
mwdb.model.oauth.OpenIDProvider
(now calledOpenIDProviderSettings
) andmwdb.core.oauth.OpenIDClient
-mwdb.core.oauth.provider.OpenIDProvider
that implements user and group creation and can be used to create own customized OpenIDProvider classesPluginAppContext.register_openid_provider_class
methodTest plan
Closing issues
closes #965