Skip to content

Provide a web interface to configure field mapping on a per IdP-basis #890

@jpahullo

Description

@jpahullo

Our context

We are using this great plugin in production just with a single active IdP. But we need in the short term to add additional IdPs.

The need

A web interface to manage user field mapping for each IdP independently.

Current workaround

As stated on https://github.com/catalyst/moodle-auth_saml2#auth-proc-filter-hooks, we have to implement these hooks extend_auth_saml2_proc() on any lib.php to support and customize different mappings from other IdP.

Actually, if you want to add several IdPs, with high provability, the settings and user field mapping would differ. So, when working with several IdP this is "a must".

The request

There are several ways we could affort it on the current plugin, I think:

  1. Provide a new page for each IdP with its specific field mapping.
    1. It was already proposed on Allow IdP to have separate config settings including field mappings #804.
  2. Provide a tab for each IdP on the main page. Not only show the current field mapping as it appears now, but with a new tab for each IdP on the list.
    1. It was my first idea, as it is addressed this way in several places on the Moodle core.

However, I would prefer option #804 so it is cleaner: main page contains the general settings, and then each IdP contains each specific settings, including user field mapping. Not tried. Just analysed the code from the PR.

I open this issue since, as a result of my research on the list of issues, there is no issue requesting this feature.

The million dollar question

Would you be interested on including this feature? Would PR #804 be a good starting point if not enough?

I would propose to my supervisors implement something more functional (not requiring re/implementing lib.php functions) for just setting the necessary configuration fields for each IdP on the web, so that any administrator could manage and keeping them properly. This kind of solution would be more sustainable from a programming point of view.

Thanks for this great plugin.

Jordi

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions