apps/docs/content/guides/auth/social-login/auth-zoom.mdx
To enable Zoom Auth for your project, you need to set up a Zoom OAuth application and add the application credentials to your Supabase Dashboard.
Setting up Zoom logins for your application consists of 3 parts:
Sign In at the top right to log in.<$Partial path="social_provider_setup.mdx" variables={{ "provider": "Zoom" }} />
Sign In at the top right to log in.Build App (from the dropdown Develop)CreateCreateUnder App credentials
Client ID.Client secret.Callback URL in the OAuth allow list.Under Redirect URL for OAuth
Callback URLUnder Scopes
Add scopesUseruser:readDoneContinue<$Partial path="social_provider_settings_supabase.mdx" variables={{ "provider": "Zoom" }} />
You can also configure the Zoom auth provider using the Management API:
# Get your access token from https://supabase.com/dashboard/account/tokens
export SUPABASE_ACCESS_TOKEN="your-access-token"
export PROJECT_REF="your-project-ref"
# Configure Zoom auth provider
curl -X PATCH "https://api.supabase.com/v1/projects/$PROJECT_REF/config/auth" \
-H "Authorization: Bearer $SUPABASE_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"external_zoom_enabled": true,
"external_zoom_client_id": "your-zoom-client-id",
"external_zoom_secret": "your-zoom-client-secret"
}'
<Tabs scrollable size="small" type="underlined" defaultActiveId="js" queryGroup="language"
<TabPanel id="js" label="JavaScript">
<$Partial path="create_client_snippet.mdx" />
When your user signs in, call signInWithOAuth() with zoom as the provider:
import { createClient } from '@supabase/supabase-js'
const supabase = createClient('<your-project-url>', '<sb_publishable_... or anon key>')
// ---cut---
async function signInWithZoom() {
const { data, error } = await supabase.auth.signInWithOAuth({
provider: 'zoom',
})
}
When your user signs in, call signInWithOAuth() with zoom as the provider:
Future<void> signInWithZoom() async {
await supabase.auth.signInWithOAuth(
OAuthProvider.zoom,
redirectTo: kIsWeb ? null : 'my.scheme://my-host', // Optionally set the redirect link to bring back the user via deeplink.
authScreenLaunchMode:
kIsWeb ? LaunchMode.platformDefault : LaunchMode.externalApplication, // Launch the auth screen in a new webview on mobile.
);
}
When your user signs in, call signInWith(Provider) with Zoom as the Provider:
suspend fun signInWithZoom() {
supabase.auth.signInWith(Zoom)
}
<$Partial path="oauth_pkce_flow.mdx" />
<Tabs scrollable size="small" type="underlined" defaultActiveId="js" queryGroup="language"
<TabPanel id="js" label="JavaScript">
When your user signs out, call signOut() to remove them from the browser session and any objects from localStorage:
import { createClient } from '@supabase/supabase-js'
const supabase = createClient('<your-project-url>', '<sb_publishable_... or anon key>')
// ---cut---
async function signOut() {
const { error } = await supabase.auth.signOut()
}
When your user signs out, call signOut() to remove them from the browser session and any objects from localStorage:
Future<void> signOut() async {
await supabase.auth.signOut();
}
When your user signs out, call signOut() to remove them from the browser session and any objects from localStorage:
suspend fun signOut() {
supabase.auth.signOut()
}