• 0

كيفية تمرير البيانات من خلال sign_in_with_apple في flutter

السلام عليكم ورحمة الله وبركاته

تحيه طيبه للجميع

قمت بعمل كود لتسجيل الدخول من خلال حساب ابل الى التطبيق  الكود شغال لا توجد مشكله ولكني احتاج الى تمرير الايميل مثلا او الاسم بعد تسجيل دخول المستخدم بنجاح او قراتهم من خلال الامر print  ولكني حاولت فعل ذلك ولم ينجح الامر لا اعلم ما هو الخطاء ب ضبط.

الكود المستعمل كالتالي :

 

  Future<User> signInWithApple() async {
    final rawNonce = generateNonce();
    final nonce = sha256ofString(rawNonce);

    try {
     
      final appleCredential = await SignInWithApple.getAppleIDCredential(
        scopes: [
          AppleIDAuthorizationScopes.email,
          AppleIDAuthorizationScopes.fullName,
        ],
        nonce: nonce,
);
      final oauthCredential = OAuthProvider("apple.com").credential(
        idToken: appleCredential.identityToken,
        rawNonce: rawNonce,
      );
      final authResult = await _firebaseAuth.signInWithCredential(oauthCredential);
      final displayName = '${appleCredential.givenName} ${appleCredential.familyName}';
       print('ssssssssss $displayName');//========================================================
      final userEmail = '${appleCredential.email}';
      final firebaseUser = authResult.user;
      await firebaseUser.updateProfile(displayName: displayName);
      await firebaseUser.updateEmail(userEmail);

      return firebaseUser;


    } catch (exception) {
      print(exception);
    }
  }
}

كيف يمكن قراءة الايميل في هذا الحالة او الاسم؟

مع العلم انني حاولت ذلك بشكل التالي:

   print('ssssssssss $displayName');

كما هو واضح ايضا في الكود اعلاه ولكني احصل على null  في كل مره

تمّ تعديل بواسطة مروان مروان3
1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

السلام عليكم @مروان مروان3

لا يوجد لديك خطأ في الكود بل المشكلة هي من أبل أبل فقط تعيد إسم المستخدم بالكامل وكذلك الإيميل فقط مرة واحد عند أو عملية تسجيل دخول على نفس الجهاز من خلال التطبيق , وإن عاودت تسجيل الدخول ستحصل على null هذا من أبل لكن للحصول على البيانات مرة أخرى بغرض الإختبار , في جهاز الأيفون إذهب إلى Settings > Apple ID, iCloud, iTunes & App Store > Password & Security > Apps Using Your Apple ID ثم إضغط على التطبيق الخاص بك ثم إختر Stop Using Apple ID بعد ذلك يمكنك تسجيل الدخول مرة أخرى وستحصل على البيانات 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن