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

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

Flutter Dev

السؤال

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...