3rd-party-integrations / github-team-sync

Sync GitHub teams to groups in Active Directory, LDAP, Okta, OneLogin or AzureAD when using any authentication method for GitHub.
MIT License
201 stars 67 forks source link

Add support for Keycloak #209

Closed NotActuallyTerry closed 5 months ago

NotActuallyTerry commented 6 months ago

This PR adds the ability to sync memberships from Keycloak groups to GitHub teams.

Right now, this only supports syncing from groups within a single Keycloak realm. If the need arises, I could look into adding support for defining the realm within the sync map. As Keycloak supports using GitHub as an IdP, if you have this set up you can enable KEYCLOAK_USE_GITHUB_IDP to use their linked GitHub username directly. Further down the line it might be ideal to look at using the GitHub account ID in the sync.

primetheus commented 6 months ago

Thanks for opening this up @NotActuallyTerry! I'll do some testing and get it merged in for a new release!

NotActuallyTerry commented 5 months ago

No worries! I've pushed another commit fixing an issue that I ran into. Turns out my pipenv didn't fully override the system Python, so something that works in 3.11 but doesn't work in 3.9 slipped through :facepalm: