Repository navigation
feat(auth): list custom OAuth/OIDC providers as an admin - #599
Merged
Merged
Conversation
Tr00d
force-pushed
the
feat/auth.admin.list_providers
branch
from
October 29, 2026 15:18
780687f to
a151cb7
Compare
Tr00d
marked this pull request as ready for review
October 29, 2026 15:24
Rebuilt on master after #591: list's members sit after get's, its using directives are added, and PublicAPI.Unshipped.txt is regenerated by the analyzer.
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.
Summary
Admins can list the custom OAuth/OIDC providers registered on the project, optionally only those of one type.
Capability:
auth.admin.list_providers: Admin List Providers.Public API
New types: none. It uses
CustomProviderandCustomProviderTypefrom #590.IGotrueApi<TUser, TSession>gains the matchingListCustomProvidersAsync(string jwt, CustomProviderType?, CancellationToken).Behavior
GET /admin/custom-providerswith the service-role key. Adds?type=oauth2or?type=oidcwhentypeis given; sends no query when it is null.type, optional. The enum makes the server's 400 for an invalid type impossible to reach.{"providers":[…]}→ read-only list in server order. A null or absentproviders, or anullbody, gives an empty list.GotrueException:Reason = AdminTokenRequiredon 401/403;ErrorCode = feature_disabledon 404 when custom providers are disabledDeviations from supabase-js
'oauth2' | 'oidc'string union.Tests
ListCustomProvidersTestsOAuth2, and left out withOidc. Non-admin key →AdminTokenRequired.ListCustomProvidersContractTeststypequery when unfiltered.typequery for each enum value. Every listed provider mapped. Null, absent or missingproviders→ empty list. A cancelled token sends nothing. The call completes when the caller blocks on a context that never runs continuations.Changed-line coverage: 100% (8 lines, measured against
master). Mutation: 5/5 killed on changed lines, 0 survivors (3 compile errors, 1 ignored). The local mutation run predates the split; the production code is unchanged and themutationcheck on this PR reruns it.No wire-shape approval snapshot: the request has no body.
Layout