
أعتقد أن الكثيرين بالفعل بعد سماع WWDC 2019 تسجيل الدخول مع Apple (لفترة وجيزة SIWA). سأخبرك في المقالة عن المخاطر التي يجب علي مواجهتها عند دمج هذا العنصر في بوابتنا المرخصة. هذه المقالة ليست مناسبة تمامًا لأولئك الذين قرروا للتو التعامل مع SIWA (بالنسبة لهم ، لقد أعطيت لهم عددًا من روابط تقصي الحقائق في نهاية النص). في هذه المادة ، على الأرجح ، سيجد الكثيرون إجابات على الأسئلة التي قد تطرأ عند دمج خدمة Apple الجديدة.
لا تسمح Apple بإعادة التوجيه المخصصة
في الواقع ، ما زلت لا أرى إجابة لهذا السؤال في منتديات التنمية. خلاصة القول هي: إذا كنت ترغب في استخدام SIWA JS API ، أي إذا كنت لا تعمل من خلال SDK الأصلي بسبب عدم وجوده لسبب أو لآخر (وليس macOS / iOS أو الإصدار القديم من هذه الأنظمة) ، فأنت بحاجة إلى البوابة العامة الخاصة بك ، وإلا لا شيء. نظرًا لأنك في بوابة WWDR تحتاج إلى التسجيل والتأكيد على أنك المالك ونطاقك وفقط عليه يمكنك إرفاق عمليات إعادة توجيه صالحة من وجهة نظر Apple:

ماذا تفعل إذا كانت هناك رغبة في اعتراض إعادة توجيه في التطبيق؟ لقد حللنا هذه المشكلة بكل بساطة: على بوابتنا أنشأنا قائمة من عمليات إعادة التوجيه الصالحة لتطبيقاتنا ، والتي طلبتها قبل عرض صفحة ترخيص SIWA. وما عليك سوى إعادة التوجيه من المدخل إلى التطبيق باستخدام البيانات الواردة من Apple. بسيطة ومبهجة.
مشاكل البريد الإلكتروني
لنلقِ نظرة على كيفية حل المشكلات المتعلقة بالبريد الإلكتروني للمستخدم. أولاً ، لا توجد واجهة REST API تسمح لك بالحصول على هذه المعلومات من الواجهة الخلفية - فقط العميل يتلقى هذه البيانات ويمكنه إرسالها مع رمز التفويض.
ثانياً ، يتم إرسال المعلومات حول اسم المستخدم والبريد الإلكتروني مرة واحدة فقط ، لأول تسجيل دخول للمستخدم للتطبيق عبر Apple ، حيث يحدد المستخدم خيارات المشاركة لبياناته الشخصية.
في حد ذاتها ، لا تكون هذه المشكلات حرجة بشكل مباشر إذا تم إنشاء الاتصال بملف التعريف الاجتماعي بنجاح على البوابة - معرف المستخدم هو نفسه ومرتبط بمعرف الفريق - أي انها واحدة لجميع تطبيقات فريقك متكاملة مع SIWA. ولكن إذا تم تسجيل الدخول عبر Apple ، ثم حدث خطأ ولم يتم إنشاء اتصال على البوابة ، فإن الخيار الوحيد هو إرسال المستخدم إلى appleid.apple.com ، وقطع الاتصال بالتطبيق والمحاولة مرة أخرى. في الواقع ، يتم حل المشكلة عن طريق كتابة مقالة KB المقابلة ورابط لها.
والمشكلة التالية الأكثر سوءًا هي أن شركة Apple قد توصلت إلى مفهوم جديد بالبريد الإلكتروني الوكيل. في حالتنا ، إذا كان المستخدم موجودًا بالفعل على البوابة المرخّصة بصابونه الحقيقي وكان أول تسجيل دخول عبر Apple يحدد خيار إخفاء البريد الإلكتروني ، يتم تسجيل حساب جديد مع هذا البريد الإلكتروني الوكيل ، ومن الواضح أنه لا توجد تراخيص ، مما يضع المستخدم النهائي في طريق مسدود.
الحل لهذه المشكلة بسيط للغاية: معرف المستخدم هو نفسه في SIWA ولا يعتمد على الخيارات / التطبيق المحدد ، والذي يتم تسجيل الدخول ، ثم نستخدم فقط نصًا خاصًا للسماح لنا بتبديل هذه الحزمة من Apple إلى حساب آخر باستخدام صابون مستخدم حقيقي وبالتالي "استعادة مشترياتنا ". بعد هذا الإجراء ، يبدأ المستخدم من خلال SIWA للوصول إلى حساب آخر على البوابة وكل شيء يعمل بشكل صحيح له.
عند تسجيل الدخول عبر بوابة الويب ، لا يوجد رمز للتطبيق
لحل مشكلة أخرى ، طلبنا من ممثلي Apple التوضيح وشاركنا معرفتنا:
https://forums.developer.apple.com/thread/123054
أي المعنى هو على النحو التالي: على رأس مجموعة SIWA م. يتم تسليم تطبيق macOS / iOS فقط ، حيث تتم بالفعل إضافة معرّفات الخدمة الضرورية للبوابات. وفقا لذلك ، لإظهار الأيقونة في تطبيق الرأس د. إصدارات متجر التطبيقات من الوسائط التي تم اختبارها بواسطة Apple. سيتم أخذ الرمز من هناك.
وفقًا لذلك ، إذا كان لديك بوابة فقط ولم يكن هناك تطبيق من متجر التطبيقات ، فلن يكون هناك رمز جميل ، ولكن يمكنك الخروج باسم التطبيق - في حالة عدم وجود وسائط ، فإن التطبيق الرئيسي يأخذ هذه المعلومات من معرف خدمة الوصف:


يقتصر عدد العناصر في مجموعة SIWA على 5
لا تحتوي هذه المشكلة على حل في الوقت الحالي ، باستثناء استخدام الكثير من المجموعات ، إذا كنت تفتقد إلى 6 معرفات: تطبيق رئيسي واحد و 5 معرفات تابعة ، ثم عند محاولة تسجيل ما يلي ، سترى هذه الرسالة:

لقد أنشأنا مجموعات لبوابتنا المرخصة ولكل من التطبيقات التي تعمل مع هذه البوابة. فيما يتعلق بالقيود المفروضة على الفتحات ، أطلقنا بالفعل رادارًا على Apple وننتظر رده.
روابط مفيدة
الرابط الأكثر فائدة ، في رأيي ، الذي أفعل به كل شيء في جوهره. قفص الاتهام أبل مفيدة
هنا .
استمتع! يتم قبول الأسئلة والأفكار والأفكار والاقتراحات في التعليقات.