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

Feature/add groups suppport #347

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

Jufik
Copy link

@Jufik Jufik commented Apr 7, 2023

Revamped this commit to allow groups support.

Should solve #162

cheald and others added 9 commits January 31, 2022 00:48
This adds support for rules like

  rules.1.groups=sysadmins,superusers
  rules.1.groupmode=any|all

This looks for a `groups` claim on the token, which is not a part of the
spec but provided by multiple providers.

The serialized cookie is now a b64-encoded JSON payload, which attaches
group information to the user. Validation includes comparing the user's
authorized groups to the rules configured on the server.

A groupmode of "any" (default) will permit the request if any of the given groups is
matched. A mode of "all" will permit the request only if ALL the given groups are matched.
This adds support for rules like

  rules.1.groups=sysadmins,superusers
  rules.1.groupmode=any|all

This looks for a `groups` claim on the token, which is not a part of the
spec but provided by multiple providers.

The serialized cookie is now a b64-encoded JSON payload, which attaches
group information to the user. Validation includes comparing the user's
authorized groups to the rules configured on the server.

A groupmode of "any" (default) will permit the request if any of the given groups is
matched. A mode of "all" will permit the request only if ALL the given groups are matched.
@thomasLeclaire
Copy link

@thomseddon is there any plan to merge this PR ? What is blocking here?

@nOw-Ay
Copy link

nOw-Ay commented May 15, 2024

+1, merging this branch would be very useful =) what is blocking ?

@Jufik
Copy link
Author

Jufik commented May 15, 2024

@thomasLeclaire @nOw-Ay : I'm afraid this repo' is close to dead.
Tried several channels to contact @thomseddon on how to revive/maintain this project, no responses, I suspect some bigger fish need to be fried.

Next best move for whom might have time is to fork this repo' and support maintenance, starting with BOM to make sure dependencies are safe and maintained.

@nOw-Ay
Copy link

nOw-Ay commented May 15, 2024

@thomasLeclaire @nOw-Ay : I'm afraid this repo' is close to dead. Tried several channels to contact @thomseddon on how to revive/maintain this project, no responses, I suspect some bigger fish need to be fried.

Next best move for whom might have time is to fork this repo' and support maintenance, starting with BOM to make sure dependencies are safe and maintained.

Hello, thanks a lot for the quick reply. This is really weird because the maintainer did push a commit last week.

I am currently working with your fork branch which adds group support. Do you feel like you will be able to maintain it ?(it currently, as you are surely well aware, two commits behind this repo, mainly dependencies and traefik version upgrades)

@toxic0berliner
Copy link

Look beyond last week there are several years without activity here. Maybe tom tried to take it up again but I fear there's quite a bit to do before simple consumers like me can consider the product as "back to life".
Wishing all the best to Tom, I myself would be too lazy to even attempt the task.
Seeing that @thomseddon has been active I would advise to clarify his intentions, giving up is not something to be ashamed of and he deserves thanks for the many useful years we all got out of his work. If he's got the courage to take it back up all the better, but if not, saying it should be met by thanks anyway 😉

@almereyda
Copy link

Indeed, traefik-forward-auth is a prime example in the Traefik ecosystem to showcase and use offloading authentication via a simple middleware.

If we as a community can agree on a few steps to clean this up with regards to long-term maintenance (automation, BOM, passing on the review torch, …), I'd be happy to contribute. Some of the tasks ahead are boring and tedious for experienced folks, but might come with a nice learning opportunity for others, in case some propose to review such works.

In the past it has also shown useful to transfer the repository into its own organisation and to distribute access rights; not like with xz, but more like with notea; which can already help keep a project alive. Alternatively a fork can always be considered, which the license allows, but should remain a last resort.

If it's the lack of time due to changed life circumstances, I agree that it's perfectly fine to state so and to seek a resolution with an eventual community, if desired. But nobody should be pushed into stating vulnerability or accepting help. It is also good to hear that we're here to step up and jump in, so nobody needs to be left alone with anything.

@nOw-Ay
Copy link

nOw-Ay commented May 28, 2024

@almereyda @toxic0berliner @Jufik @thomasLeclaire, I opened a discussion to allow all willing participants to exchange and find solutions about the current state of traefik-forward-auth. You are welcome to participate if you want to.

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.

7 participants