اذهب إلى المحتوى

السؤال

نشر (معدل)

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

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

قمت بعمل كود لتسجيل الدخول من خلال حساب ابل الى التطبيق  الكود شغال لا توجد مشكله ولكني احتاج الى تمرير الايميل مثلا او الاسم بعد تسجيل دخول المستخدم بنجاح او قراتهم من خلال الامر 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

Recommended Posts

  • 0
نشر

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

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

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...