Repository navigation
Service accounts - #637
Open
augustuswm wants to merge 10 commits into
Open
Service accounts#637augustuswm wants to merge 10 commits into
augustuswm wants to merge 10 commits into
Conversation
augustuswm
marked this pull request as draft
October 22, 2026 21:15
augustuswm
marked this pull request as ready for review
October 23, 2026 19:16
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Large PR that will bump to us to v0.6.0. There are a few major points being addressed in this version.
Unintended breaking changes:
Major changes
These were a mistake to add originally and this version officially drops them. Mappers still exist and are first class way of doing jit provisioning, but consumers may now only apply groups to users as a result of a comparison. This refactor changed the shape of the mapper engine and will require host applications to update.
Removing blanket permission changes
Permissions are now added and removed one at a time. Bulk assignment and removal of permissions are painful to represent internally, and quite unsafe for callers as callers have to provide the full set on every call. In practice it is much easier to only support add and remove.
Endpoint removal
A few endpoints were removed:
POST /api-userPOST /api-user/{user_id}PUT /group/{group_id}OAuth error response format
Multiple OAuth endpoints had their error responses fixed so that we are closer to complying with RFC 6749 §5.2 .
Storage model changes
There have been changes to some of the user and group structures. Anything that carries permissions now carries a generation number so that we can detect collisions between racing requests to add or remove permissions. A failure to win a race now results in a 409 CONFLICT response.
OAuth clients as service accounts
An OAuth client can now authenticate as itself via a client credentials flow. This is a new pathway to be able to better support server to server communication. The goal here is to continue keeping with short lived credentials, but we do not want them assigned to users. The focus here is RFC 7523 JWT based client credentials, and we have no intent to implement a shared secret option. All clients are allowed to be used as a service account. We may want to restrict this, but I'm not sure yet what that looks like (maybe a new permission).