Swift: Sign in a user through OAuth
- This method is used for signing in using a third-party provider.
- Supabase supports many different third-party providers.
Examples
Sign in using a third-party provider
let url = try await supabase.auth.getOAuthSignInURL(provider: .github)
let session = ASWebAuthenticationSession(url: url, callbackURLScheme: "my-app-scheme") { url, error in
guard let url else { return }
Task {
try await supabase.auth.session(from: url)
}
}
session.presentationContextProvider = self // yours ASWebAuthenticationPresentationContextProviding implementation.
session.start()
Sign in using a third-party provider with redirect
let url = try await supabase.auth.getOAuthSignInURL(
provider: .google,
redirectTo: URL(string: "https://example.com/welcome")!
)
Sign in with scopes
let url = try await supabase.auth.getOAuthSignInURL(
provider: .github,
scopes: "repo gist notifications"
)