OAuthProviderManager
OAuth Provider Manager
Manages OAuth provider configurations for third-party authentication. Supports both built-in providers (Google, GitHub, etc.) and custom OAuth2 providers.
Example
Section titled “Example”const oauth = client.admin.oauth
// List all OAuth providersconst { providers } = await oauth.listProviders()
// Create a new providerawait oauth.createProvider({ provider_name: 'github', display_name: 'GitHub', enabled: true, client_id: 'your-client-id', client_secret: 'your-client-secret', redirect_url: 'https://yourapp.com/auth/callback', scopes: ['user:email', 'read:user'], is_custom: false})
// Update a providerawait oauth.updateProvider('provider-id', { enabled: false})
// Delete a providerawait oauth.deleteProvider('provider-id')Constructors
Section titled “Constructors”new OAuthProviderManager()
Section titled “new OAuthProviderManager()”new OAuthProviderManager(
fetch):OAuthProviderManager
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
fetch | FluxbaseFetch |
Returns
Section titled “Returns”Methods
Section titled “Methods”createProvider()
Section titled “createProvider()”createProvider(
request):Promise<CreateOAuthProviderResponse>
Create a new OAuth provider
Creates a new OAuth provider configuration. For built-in providers (Google, GitHub, etc.),
set is_custom to false. For custom OAuth2 providers, set is_custom to true and provide
the authorization, token, and user info URLs.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
request | CreateOAuthProviderRequest | OAuth provider configuration |
Returns
Section titled “Returns”Promise<CreateOAuthProviderResponse>
Promise resolving to CreateOAuthProviderResponse
Examples
Section titled “Examples”// Create GitHub providerconst result = await client.admin.oauth.createProvider({ provider_name: 'github', display_name: 'GitHub', enabled: true, client_id: process.env.GITHUB_CLIENT_ID, client_secret: process.env.GITHUB_CLIENT_SECRET, redirect_url: 'https://yourapp.com/auth/callback', scopes: ['user:email', 'read:user'], is_custom: false})
console.log('Provider created:', result.id)// Create custom OAuth2 providerawait client.admin.oauth.createProvider({ provider_name: 'custom_sso', display_name: 'Custom SSO', enabled: true, client_id: 'client-id', client_secret: 'client-secret', redirect_url: 'https://yourapp.com/auth/callback', scopes: ['openid', 'profile', 'email'], is_custom: true, authorization_url: 'https://sso.example.com/oauth/authorize', token_url: 'https://sso.example.com/oauth/token', user_info_url: 'https://sso.example.com/oauth/userinfo'})deleteProvider()
Section titled “deleteProvider()”deleteProvider(
providerId):Promise<DeleteOAuthProviderResponse>
Delete an OAuth provider
Permanently deletes an OAuth provider configuration. This will prevent users from authenticating with this provider.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
providerId | string | Provider ID (UUID) to delete |
Returns
Section titled “Returns”Promise<DeleteOAuthProviderResponse>
Promise resolving to DeleteOAuthProviderResponse
Examples
Section titled “Examples”await client.admin.oauth.deleteProvider('provider-id')console.log('Provider deleted')// Safe deletion with confirmationconst provider = await client.admin.oauth.getProvider('provider-id')const confirmed = await confirm(`Delete ${provider.display_name}?`)
if (confirmed) { await client.admin.oauth.deleteProvider('provider-id')}disableProvider()
Section titled “disableProvider()”disableProvider(
providerId):Promise<UpdateOAuthProviderResponse>
Disable an OAuth provider
Convenience method to disable a provider.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
providerId | string | Provider ID (UUID) |
Returns
Section titled “Returns”Promise<UpdateOAuthProviderResponse>
Promise resolving to UpdateOAuthProviderResponse
Example
Section titled “Example”await client.admin.oauth.disableProvider('provider-id')enableProvider()
Section titled “enableProvider()”enableProvider(
providerId):Promise<UpdateOAuthProviderResponse>
Enable an OAuth provider
Convenience method to enable a provider.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
providerId | string | Provider ID (UUID) |
Returns
Section titled “Returns”Promise<UpdateOAuthProviderResponse>
Promise resolving to UpdateOAuthProviderResponse
Example
Section titled “Example”await client.admin.oauth.enableProvider('provider-id')getProvider()
Section titled “getProvider()”getProvider(
providerId):Promise<OAuthProvider>
Get a specific OAuth provider by ID
Retrieves detailed configuration for a single OAuth provider. Note: Client secret is not included in the response.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
providerId | string | Provider ID (UUID) |
Returns
Section titled “Returns”Promise<OAuthProvider>
Promise resolving to OAuthProvider
Example
Section titled “Example”const provider = await client.admin.oauth.getProvider('provider-uuid')
console.log('Provider:', provider.display_name)console.log('Scopes:', provider.scopes.join(', '))console.log('Redirect URL:', provider.redirect_url)listProviders()
Section titled “listProviders()”listProviders():
Promise<OAuthProvider[]>
List all OAuth providers
Retrieves all configured OAuth providers including both enabled and disabled providers. Note: Client secrets are not included in the response for security reasons.
Returns
Section titled “Returns”Promise<OAuthProvider[]>
Promise resolving to ListOAuthProvidersResponse
Example
Section titled “Example”const { providers } = await client.admin.oauth.listProviders()
providers.forEach(provider => { console.log(`${provider.display_name}: ${provider.enabled ? 'enabled' : 'disabled'}`)})updateProvider()
Section titled “updateProvider()”updateProvider(
providerId,request):Promise<UpdateOAuthProviderResponse>
Update an existing OAuth provider
Updates an OAuth provider configuration. All fields are optional - only provided fields will be updated. To update the client secret, provide a non-empty value.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
providerId | string | Provider ID (UUID) |
request | UpdateOAuthProviderRequest | Fields to update |
Returns
Section titled “Returns”Promise<UpdateOAuthProviderResponse>
Promise resolving to UpdateOAuthProviderResponse
Examples
Section titled “Examples”// Disable a providerawait client.admin.oauth.updateProvider('provider-id', { enabled: false})// Update scopes and redirect URLawait client.admin.oauth.updateProvider('provider-id', { scopes: ['user:email', 'read:user', 'read:org'], redirect_url: 'https://newdomain.com/auth/callback'})// Rotate client secretawait client.admin.oauth.updateProvider('provider-id', { client_id: 'new-client-id', client_secret: 'new-client-secret'})