| Summary: | Shibboleth adaptive config | ||
|---|---|---|---|
| Product: | Koha | Reporter: | Martin Renvoize (ashimema) <martin.renvoize> |
| Component: | Authentication | Assignee: | Martin Renvoize (ashimema) <martin.renvoize> |
| Status: | NEW --- | QA Contact: | Testopia <testopia> |
| Severity: | enhancement | ||
| Priority: | P5 - low | CC: | andreas.jonsson, dcook, dpavlin |
| Version: | Main | ||
| Hardware: | All | ||
| OS: | All | ||
| See Also: |
http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=12026 http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=12027 https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40596 |
||
| GIT URL: | Initiative type: | --- | |
| Sponsorship status: | --- | Comma delimited list of Sponsors: | |
| Crowdfunding goal: | 0 | Patch complexity: | --- |
| Documentation contact: | Documentation submission: | ||
| Text to go in the release notes: | Version(s) released in: | ||
| Circulation function: | |||
| Bug Depends on: | 8446, 13114, 13569 | ||
| Bug Blocks: | |||
I wish to enhance the shibboleth system such that you can adapt the config used depending upon some attribute returned from the identity provider. Use case: Given an academic institution, such a place may have rather differing information on record for students as opposed to staff. I've had instances where the mapping between attributes and koha fields has differed wildly between these two groups. Given the there is probably an attribute that can differentiate between the two, then we should be able to use that to load a set of mapping specific to that usergroup. Example intended implementation. <usesshibboleth>1</usesshiboleth> <shibboleth selector="affiliation" value="student"> <matchpoint>userid<matchpoint> <mapping> <userid is="uid"></userid> </mapping> </shibboleth> <shibboleth selector="affiliation" value="staff"> <matchpoint>cardnumber<matchpoint> <mapping> <cardnumber is="libraryID"></cardnumber> </mapping> </shibboleth> So, in the above example config, the intention would be for koha to look for an 'affiliation' attribute first and foremost, and then depending upon it's value (student or staff) load the corresponding configuration and continue as per normal.