Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add JWT group-based user authorization #1373

Merged
merged 8 commits into from
Dec 11, 2023

Conversation

bcmmbaga
Copy link
Contributor

Describe your changes

Add user group-based authorization. This implementation checks for JWT group propagation and jwt_allow_groups settings. Users attempting authentication without membership in the specified group list will have their authentication rejected. Additionally, if no allow groups are set, all users will be authenticated seamlessly

Issue ticket number and link

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • Extended the README / documentation, if necessary

@bcmmbaga bcmmbaga changed the base branch from main to allow-jwt-groups December 11, 2023 09:53
@bcmmbaga bcmmbaga marked this pull request as ready for review December 11, 2023 11:24
@bcmmbaga bcmmbaga merged commit 924abb5 into allow-jwt-groups Dec 11, 2023
13 of 14 checks passed
@bcmmbaga bcmmbaga deleted the update-auth-middleware-jwt-group branch December 11, 2023 13:01
bcmmbaga added a commit that referenced this pull request Dec 11, 2023
* Extend management API to support list of allowed JWT groups (#1366)

* Add JWTAllowGroups settings to account management

* Return an empty group list if jwt allow groups is not set

* Add JwtAllowGroups to account settings in handler test

* Add JWT group-based user authorization (#1373)

* Add JWTAllowGroups settings to account management

* Return an empty group list if jwt allow groups is not set

* Add JwtAllowGroups to account settings in handler test

* Implement user access validation authentication based on JWT groups

* Remove the slices package import due to compatibility issues with the gitHub workflow(s) Go version

* Refactor auth middleware and test for extracted claim handling

* Optimize JWT group check in auth middleware to cover nil and empty allowed groups
pulsastrix pushed a commit to pulsastrix/netbird that referenced this pull request Dec 24, 2023
* Extend management API to support list of allowed JWT groups (netbirdio#1366)

* Add JWTAllowGroups settings to account management

* Return an empty group list if jwt allow groups is not set

* Add JwtAllowGroups to account settings in handler test

* Add JWT group-based user authorization (netbirdio#1373)

* Add JWTAllowGroups settings to account management

* Return an empty group list if jwt allow groups is not set

* Add JwtAllowGroups to account settings in handler test

* Implement user access validation authentication based on JWT groups

* Remove the slices package import due to compatibility issues with the gitHub workflow(s) Go version

* Refactor auth middleware and test for extracted claim handling

* Optimize JWT group check in auth middleware to cover nil and empty allowed groups
Foosec pushed a commit to Foosec/netbird that referenced this pull request May 8, 2024
* Extend management API to support list of allowed JWT groups (netbirdio#1366)

* Add JWTAllowGroups settings to account management

* Return an empty group list if jwt allow groups is not set

* Add JwtAllowGroups to account settings in handler test

* Add JWT group-based user authorization (netbirdio#1373)

* Add JWTAllowGroups settings to account management

* Return an empty group list if jwt allow groups is not set

* Add JwtAllowGroups to account settings in handler test

* Implement user access validation authentication based on JWT groups

* Remove the slices package import due to compatibility issues with the gitHub workflow(s) Go version

* Refactor auth middleware and test for extracted claim handling

* Optimize JWT group check in auth middleware to cover nil and empty allowed groups
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants