Repository navigation
Conversation
Contributor
There was a problem hiding this comment.
Copilot was unable to review this pull request because there is no eligible user to bill.
An enterprise owner can allow the organization to be billed for reviews like this by enabling Copilot code review for users without a license.
Copilot
AI
changed the title
feat(hub): add GitHub identity and credential providers
feat(hub): persist identity records and credentials
Oct 26, 2026
Copilot
AI
force-pushed
the
copilot/hub-identity-system
branch
from
October 26, 2026 23:31
4924f22 to
0473854
Compare
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The read interface exposes mutations outside locked transactions, allowing callers to bypass serialization and leave partial updates when an operation fails.
6 open issues
Restrict read API to queries and lock mutations · New Assert session deletion before transaction rollback · New Ensure the lock test waits for the blocked transaction · New Preserve validation errors after credential decryption · New Remove unsupported authorization-model promise · New Document audit retention and export requirements · New
Review effort: Max
nshki
requested changes
Oct 29, 2026
Add encrypted database and read-only environment credential providers for one GitHub installation, transactional identity repositories, and their storage contracts. Co-authored-by: Ben Thomas <ben.thomas@microsoft.com> Co-authored-by: Nishiki <hello@nshki.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
alliscode
force-pushed
the
copilot/hub-identity-system
branch
from
October 29, 2026 15:38
d6a6ebf to
738dc31
Compare
nshki
approved these changes
Oct 29, 2026
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.



Why
Hub needs a durable identity foundation that does not make one sign-in provider or GitHub integration the definition of a user. This layer gives later authentication and authorization work stable records while keeping provider-specific behavior outside the core identity model. Refs #116.
What changes
Hub now persists users, external identities, installation membership, versioned authentication-provider configuration, sessions, one-use authorization attempts, and security audit records. Repository and domain interfaces keep those records provider-neutral and support transactional updates under a shared store lock.
GitHub source access remains a separate optional integration. Operators can use encrypted database credentials or complete read-only environment settings without coupling GitHub credentials to user identity or session context.
The change also retains automatic redacted request logging from the current Hub baseline. It adds persistence only: there are no sign-in routes, product authorization rules, membership synchronization, or UI changes in this layer.