Add a page to manage providers
It would be nice to have a /manage/providers/ page that would allow to easily create/etc. (saml/oauth/...) providers.
Maybe I should do real mockups about this but the idea would be to have [new] and [new from metadata] buttons, [new from metadata] would allow an upload or an URL. [new] would first ask for the type of service (saml/oauth/...) then ask for a minimal set of parameters (looking at simplesamlphp, for saml providers it could be AssertionConsumerService, SingleLogoutService, NameIDFormat, and a field to select the attribute to use as nameid, if relevant).
Then it's just like the other /manage/ pages, search/modify/delete and stuff.
models,managers: add a ServiceManager as default manager for Service (#5541)
managers: make ServiceManager an InheritanceQuerySetMixin and usable by related fields (#5541)
It's needed to make polymorphic methods on Service objects, it should
simplify implementing new manager view for managing different kind of
a2_rbac: add a related_name to Role.service foreign key (#5541)
Service role can be now be listed using service.roles.all().
manager: start implementing service management views (#5541)
They give access to service roles management.
Updated by Benjamin Dauvergne over 7 years ago
For now each idp module use its own model to instantiate services (they have no base model they can share) so for now, each services will be listed in its own listing.
Orga > Services [ Ajouter un service ] [ CAS ] | Nom | EntityID | SAML | 1 Service1 | | [ OAuth2 ] | 2 Servoce2 | | | | |
Each IdP backend should provide configuration for a listing view, a django-tables2 Table object, a creation and edit view. IdP backend object should have a
get_service_manager() method, this method will return a Table object and an urlpattern() object.