[X] I agree to follow the Code of Conduct that this project adheres to.
[X] I have searched the issue tracker for an issue that matches the one I want to file, without success.
Problem Description
The GitHub connector returns the teams a user is directly a member of. GitHub teams can have parents, and they inherit the permissions from their parent team.
Proposed Solution
The GitHub connector should return the parent teams (recursively) for all of a user's team memberships and direct memberships.
Alternatives Considered
Leave as is
Put behind a config flag
Additional Information
GitHub API /user/team/ only returns the direct memberships (and the parent's name), and we would need to look up the parent's parent recursively.
This change would make consistent permissions in GitHub and downstream apps. My org uses GitHub auth because of how closely tied together GitHub permissions and the permissions of the apps we have tied to GitHub via dex. Not being able to use team inheritance significantly impacts the management and organization of our permissions.
Preflight Checklist
Problem Description
The GitHub connector returns the teams a user is directly a member of. GitHub teams can have parents, and they inherit the permissions from their parent team.
Proposed Solution
The GitHub connector should return the parent teams (recursively) for all of a user's team memberships and direct memberships.
Alternatives Considered
Additional Information
GitHub API
/user/team/
only returns the direct memberships (and the parent's name), and we would need to look up the parent's parent recursively.This change would make consistent permissions in GitHub and downstream apps. My org uses GitHub auth because of how closely tied together GitHub permissions and the permissions of the apps we have tied to GitHub via dex. Not being able to use team inheritance significantly impacts the management and organization of our permissions.