Refine connector provider registry per review
Three follow-ups from review of the registry consolidation:
- Build Vercel's authorization URL with net/url instead of a
hand-rolled "{integration_slug}" placeholder resolved by
strings.ReplaceAll. The slug is escaped via url.PathEscape in a
per-provider Registration.BuildAuthURL closure, and the unused
AuthURLParams plumbing on Registration and OAuth2Connector is
removed (OAuth2Connector now carries a typed IntegrationSlug).
- Drop the SettingsInput union type and the per-provider
MarshalSettings closures. The create resolvers now build the typed
coredata.*ConnectorSettings directly from the gqlgen input, the
same way the OAuth callback path already does, so there is no
shared catch-all DTO and no stringly-typed boundary.
- Restore ConnectorProviders() to a plain ordered slice literal; the
intermediate map + slices.Sort added nondeterminism and a sort for
no benefit.
Signed-off-by: Aurélien Sibiril <81782+aureliensibiril@users.noreply.github.com>
This commit is contained in:
@@ -57,12 +57,13 @@ type (
|
||||
// to the authorize URL; CompleteWithState replays the verifier
|
||||
// on the token exchange.
|
||||
RequiresPKCE bool
|
||||
// AuthURLParams are operator-supplied placeholders substituted
|
||||
// into the static provider AuthURL by
|
||||
// (*provider.Registry).ApplyOAuth2Defaults (for example
|
||||
// Vercel's "{integration_slug}"). Empty for the vast majority
|
||||
// of providers.
|
||||
AuthURLParams map[string]string
|
||||
// IntegrationSlug is an operator-supplied identifier used by
|
||||
// providers whose authorization URL embeds it as a path segment
|
||||
// (Vercel-style integrations). It is consumed by the provider's
|
||||
// Registration.BuildAuthURL in
|
||||
// (*provider.Registry).ApplyOAuth2Defaults. Empty for the vast
|
||||
// majority of providers.
|
||||
IntegrationSlug string
|
||||
|
||||
// HTTPClient is used for the OAuth2 token-exchange request
|
||||
// issued from CompleteWithState. It must be set by callers;
|
||||
|
||||
Reference in New Issue
Block a user