italia / spid-cie-oidc-django

The SPID/CIE OIDC Federation SDK, written in Python
Apache License 2.0
27 stars 28 forks source link

[feature] SPID/CIE onboarding frontend #1

Closed peppelinux closed 2 years ago

peppelinux commented 2 years ago

spid_cie_oidc.onboarding comes with an admin backend that allows operators to register new entities as descendants of their trust anchor or intermediate entity.

It would be useful to have a frontend accessible by means of SPID/CIE authentication that allows to verify the ownership of a user to start an administrative practice of onboarding and the registration of a new entity.

peppelinux commented 2 years ago

The OnBoarding demo MUST have the dfollowing characteristics:

  1. HTML templates i18n compliant
  2. 3 pages:
    • landing page, welcome with a brif introduction of the service
    • list onboarded entities
    • onboard a new entity

onboard a new entity

A page containing brief informations about the type of the service, the policy and the federation rules, in the form of web links. An html form with the following fields:

  1. organization name
  2. url of the entity
  3. url of the page where the SPID/CIE button is available
  4. public jwks of the entities

list onboarded entities

A page that consumes a paginated resultset of the listing endpoint. The page MUST have a vue.js or datatable to represent these entries

peppelinux commented 2 years ago

@dezhizhang1985 almost completed.

We need a validator here https://github.com/peppelinux/spid-cie-oidc-django/blob/187650f055314bd867f4d7159568e86b7076108c/spid_cie_oidc/onboarding/forms.py#L17

that download the entity configuration from the submitted url and validates the self signed entity statement

to achieve this we just have to use this https://github.com/peppelinux/spid-cie-oidc-django/blob/187650f055314bd867f4d7159568e86b7076108c/spid_cie_oidc/authority/validators.py#L32

peppelinux commented 2 years ago

Done here https://github.com/peppelinux/spid-cie-oidc-django/releases/tag/v0.3.0