You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With OIDC-based authentication, new users can be set up pretty easily, however, this does not extend to ACLs. It would be great to have a way to instead of a hujson file, supply a template that generates it based on the current user table. This would allow onboarding a new user easily by simply telling them to authenticate, and everything else would be done automatically based on the template. This has the added advantage of making it possible to share template-ACLs without requiring the user to edit them in detail.
Description
Taking the example from headscale's docs, it could be written as follows to allow dynamically onboard users.
This specific example would, of course, require deriving a group from an OIDC claim, which is beyond the scope of this issue, the basic functionality of:
{{ for $user := range .Users }}
{ "action": "accept", "src": ["{{$user.name}}"], "dst": ["{{$user.name}}:*"] },
{{ end }}
Would already be a huge stepping stone in that regard, though.
Contribution
I can write the design doc for this feature
I can contribute this feature
How can it be implemented?
Go has a powerful templating language already, though the use of curly braces may make the generation of hujson more difficult. I would push this issue off until a design document or general feedback has been provided, though.
The text was updated successfully, but these errors were encountered:
Use case
With OIDC-based authentication, new users can be set up pretty easily, however, this does not extend to ACLs. It would be great to have a way to instead of a hujson file, supply a template that generates it based on the current user table. This would allow onboarding a new user easily by simply telling them to authenticate, and everything else would be done automatically based on the template. This has the added advantage of making it possible to share template-ACLs without requiring the user to edit them in detail.
Description
Taking the example from headscale's docs, it could be written as follows to allow dynamically onboard users.
This specific example would, of course, require deriving a group from an OIDC claim, which is beyond the scope of this issue, the basic functionality of:
Would already be a huge stepping stone in that regard, though.
Contribution
How can it be implemented?
Go has a powerful templating language already, though the use of curly braces may make the generation of hujson more difficult. I would push this issue off until a design document or general feedback has been provided, though.
The text was updated successfully, but these errors were encountered: