useOAuth
Authenticate with third-party providers like Google, Apple, Facebook, Discord, and Twitter.
Usage
import { OAuthProvider, useOAuth } from '@openfort/react-native';
function SocialLogin() {
const { initOAuth, isLoading } = useOAuth();
const loginWithGoogle = () => initOAuth({ provider: OAuthProvider.GOOGLE });
const loginWithApple = () => initOAuth({ provider: OAuthProvider.APPLE });
return null;
}Return type
type UseOAuthReturn = {
initOAuth(options: InitOAuthOptions): Promise<OAuthResult>
linkOauth(options: InitOAuthOptions): Promise<OAuthResult>
storeCredentials(): void
isLoading: boolean
isError: boolean
isSuccess: boolean
error?: OpenfortError | null
}
type OAuthResult = {
user?: AuthPlayerResponse
error?: OpenfortError
}Parameters
initOAuth / linkOauth
type InitOAuthOptions = {
provider: OAuthProvider
redirectTo?: string
isLegacyAppleIosBehaviorEnabled?: boolean
onSuccess?: (data: OAuthResult) => void
onError?: (error: OpenfortError) => void
}
enum OAuthProvider {
GOOGLE = "GOOGLE",
FACEBOOK = "FACEBOOK",
DISCORD = "DISCORD",
TWITTER = "TWITTER",
EPIC_GAMES = "EPIC_GAMES",
APPLE = "APPLE",
CUSTOM = "CUSTOM",
}