CustomProviderBuilder

@Serializable
class CustomProviderBuilder(source)

Parameters for creating a new custom provider.

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
@SerialName(value = "acceptable_client_ids")
var acceptableClientIds: List<String>?

Additional client IDs accepted during token validation

Link copied to clipboard
@SerialName(value = "attribute_mapping")
var attributeMapping: JsonObject?

Mapping of provider attributes to Supabase user attributes

Link copied to clipboard
@SerialName(value = "authorization_params")
var authorizationParams: JsonObject?

Additional parameters sent with the authorization request

Link copied to clipboard
@SerialName(value = "authorization_url")
var authorizationUrl: String?

OAuth2 authorization URL

Link copied to clipboard
@SerialName(value = "client_id")
var clientId: String?

OAuth client ID

Link copied to clipboard
@SerialName(value = "client_secret")
var clientSecret: String?

OAuth client secret (write-only, not returned in responses)

Link copied to clipboard
@SerialName(value = "custom_claims_allowlist")
var customClaimsAllowlist: List<String>?

Allowlist of raw identity provider claim keys to copy verbatim into the user's custom_claims field (within identity_data and raw_user_meta_data), e.g. ["groups", "org_id", "mail"]. This is an opt-in allowlist that defaults to empty (no claims captured) and operates independently from attribute_mapping.

Link copied to clipboard
@SerialName(value = "discovery_url")
var discoveryUrl: String?

OIDC discovery URL

Link copied to clipboard
@SerialName(value = "email_optional")
var emailOptional: Boolean?

Whether email is optional for this provider

Link copied to clipboard

Whether the provider is enabled

Link copied to clipboard

Provider identifier (e.g. custom:mycompany)

Link copied to clipboard

OIDC issuer URL

Link copied to clipboard
@SerialName(value = "jwks_uri")
var jwksUri: String?

JWKS URI for token verification

Link copied to clipboard
var name: String?

Human-readable name

Link copied to clipboard
@SerialName(value = "pkce_enabled")
var pkceEnabled: Boolean?

Whether PKCE is enabled

Link copied to clipboard
@SerialName(value = "provider_type")
var providerType: CustomProviderType?

Provider type

Link copied to clipboard

OAuth scopes requested during authorization

Link copied to clipboard
@SerialName(value = "skip_nonce_check")
var skipNonceCheck: Boolean?

Whether to skip nonce check (OIDC)

Link copied to clipboard
@SerialName(value = "token_url")
var tokenUrl: String?

OAuth2 token URL

Link copied to clipboard
@SerialName(value = "userinfo_url")
var userinfoUrl: String?

OAuth2 userinfo URL