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 request: Pull information about groups of user #344

Open
ad-m-ss opened this issue Feb 18, 2023 · 1 comment
Open

Feature request: Pull information about groups of user #344

ad-m-ss opened this issue Feb 18, 2023 · 1 comment

Comments

@ad-m-ss
Copy link

ad-m-ss commented Feb 18, 2023

Hi,

In the case of authentication using Google, it would be valuable to download additional context about users in the form of groups they are a member. Such information could be stored in the session to provide additional context to the rules. This would allow for control of access to the application based on membership to groups. This would allow forcing access control that, for example, only the "Sales" group had access to Sales Tools.

Considering that OAuth credentials are currently available when Google authentication is used, we could use domain-wide delegation and authorize applications for access to the group on your own behalf, i.e. to perform the groups.list operation in Google Admin with the parameter userKey.

Considering the latency, this operation of collecting group membership must be performed during the creation of the session or use the cache & performed for each request. In the latter case, it can introduce random delay and is less predictable, so it does not prefer it.

Let me know what you think. I don't have a lot of experience with Go, but I think I could try to implement it if I could find someone kind to a beginner in the review.

@ad-m-ss
Copy link
Author

ad-m-ss commented Feb 18, 2023

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

No branches or pull requests

1 participant