typescript - React Native Expo Facebook Kimlik Doğrulaması Supabase ve react-native-fbsdk-next ile: Noncelerin Uyumsuzluğu


Supabase ve react-native-fbsdk-next kullanarak bir React Native Expo uygulamasında Facebook doğrulamasını uygulamaya çalışıyorum. Şu anda Supabase tarafından sağlanan Google kimlik doğrulama uygulama kılavuzunu takip edip bunu Facebook için uyarlıyorum, çünkü Supabase dokümantasyonu Expo ile Facebook doğrulamasının nasıl uygulanacağı konusunda net talimatlar sağlamıyor. Supabase API dokümantasyonuna göre, signInWithIdToken yöntemi, tıpkı 'google' gibi, sağlayıcı seçeneği olarak 'facebook'u da kabul ediyor.

İşte Facebook ile giriş yapmak için kullandığım fonksiyon:

const facebookSignIn = async () => {
  try {
    const res = await LoginManager.logInWithPermissions(
      ['public_profile'],
      'limited'
    );

    if (res.isCancelled) {
      throw new Error('User cancelled the login process');
    } else if (Platform.OS === 'ios') {
      const res = await AuthenticationToken.getAuthenticationTokenIOS();

      if (res) {
        const { data, error } = await supabase.auth.signInWithIdToken({
          provider: 'facebook',
          token: res.authenticationToken,
          nonce: res.nonce,
        });

        console.log({ data, error });
      } else {
        throw new Error('No auth token present');
      }
    }
  } catch (error: any) {}
};

Bu fonksiyonu çalıştırdığımda, AuthApiError: Nonces mismatch hatası alıyorum. Ancak, nonce'u konsola yazdırdığımda, signInWithIdToken'a verilen nonce ile getAuthenticationTokenIOS'den aldığım nonce aynı değerde oluyor.

Bu hatayı neden aldığımdan veya nasıl düzelteceğimden emin değilim. Bu giriş fonksiyonunun nasıl yapılması gerektiği konusunda bana rehberlik edecek biri var mı? Her türlü yardım çok takdir edilecektir.