DMGT-TECH / DMGT-TECH/the-usher-server

Grant Roles based on for IdP-managed Groups

Open
#2 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
15
Forks
8
PR merge metrics
No merged PRs in 30d

Description

# Overview

In some applications users need to be authorized based on group membership reflected in the identity provider (e.g., Active Directory). One use case for this is when a company sells many seats of a product to a customer, and the customer wishes to control access by assigning users to groups.

From The Usher's perspective, user-to-group mappings are managed by the identity server, but The Usher will handle the mapping of groups to roles (and permissions).

# Requirements

- [X] Implement the database migration to add groups and their mapping to roles.
- [X] Implement the database layer code for groups.
- [ ] Add configuration for which claim in the IdP token will contain the groups information (e.g., `groups`).
- [ ] Based on the `groups` claim, The Usher's tokens should grant any additional requested scopes that the groups allow.

# Questions

* What formatting will we need to enforce on the `groups` claim; can it be a space separated string?
* Is there a use case for groups to ever **block** access to a role?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.