فکر میکنم بسیاری از مردم قبلاً پس از WWDC 2019، Sign In with Apple (بهاختصار SIWA) را شنیدهاند. در این مقاله به شما خواهم گفت که هنگام ادغام این مورد در پورتال مجوز ما با چه مشکلات خاصی روبرو شدم. این مقاله واقعاً برای کسانی نیست که به تازگی تصمیم گرفته اند SIWA را درک کنند (برای آنها تعدادی لینک آموزشی در انتهای متن ارائه کرده ام). در این مطالب، به احتمال زیاد، بسیاری پاسخ سوالاتی را خواهند یافت که ممکن است هنگام ادغام سرویس جدید اپل ایجاد شود.
اپل اجازه تغییر مسیرهای سفارشی را نمی دهد
در واقع، من هنوز پاسخی برای این سوال در انجمن های توسعه دهندگان نمی بینم. نکته اینجاست: اگر می خواهید از SIWA JS API استفاده کنید، i.e. از طریق SDK بومی به دلیل عدم وجود یکی به دلایلی (نه macOS/iOS یا نسخه قدیمی این سیستم ها) کار نکنید، پس به پورتال عمومی خود نیاز دارید، در غیر این صورت راه دیگری وجود ندارد. زیرا در پورتال WWDR باید ثبت نام کرده و تأیید کنید که مالک دامنه خود هستید و فقط در آن می توانید ریدایرکت هایی را که از نظر اپل قابل قبول است، پیوست کنید:
اگر بخواهید یک تغییر مسیر را در یک برنامه متوقف کنید، چه کاری باید انجام دهید؟ ما این مشکل را بسیار ساده حل کردیم: ما در پورتال خود لیستی از تغییر مسیرهای قابل قبول برای برنامه های خود ایجاد کردیم که آنها قبل از نمایش صفحه مجوز SIWA سفارش می دهند. و ما به سادگی از پورتال به برنامه با داده های دریافتی از اپل هدایت می کنیم. ساده و عصبانی.
مشکلات با ایمیل
بیایید ببینیم چگونه مشکلات مربوط به ایمیل کاربر را حل کردیم. اولاً، هیچ REST API وجود ندارد که به شما امکان می دهد این اطلاعات را از باطن دریافت کنید - فقط مشتری این داده ها را دریافت می کند و می تواند آن را همراه با کد مجوز ارسال کند.
ثانیاً، اطلاعات مربوط به نام و ایمیل کاربر تنها یک بار، به اولین ورود کاربر به برنامه از طریق اپل منتقل می شود، جایی که کاربر گزینه هایی را برای اشتراک گذاری داده های شخصی خود انتخاب می کند.
اگر ارتباط با نمایه اجتماعی در پورتال با موفقیت ایجاد شود - شناسه کاربر یکسان است و به شناسه تیم مرتبط است - به خودی خود، این مشکلات مستقیماً مهم نیستند. برای همه برنامه های یکپارچه SIWA تیم شما یکسان است. اما اگر ورود از طریق اپل انجام شد و در ادامه مسیر خطایی رخ داد و اتصال در پورتال ایجاد نشد، تنها گزینه ارسال کاربر به appleid.apple.com، قطع ارتباط با برنامه و دوباره امتحان کنید در واقع می توان با نوشتن مقاله KB مناسب و لینک دادن به آن مشکل را حل کرد.
مشکل ناخوشایند بعدی به این واقعیت مربوط می شود که اپل مفهوم جدیدی را با پروکسی ایمیل ارائه کرد. در مورد ما، اگر کاربر قبلاً با صابون واقعی خود به درگاه مجوز مراجعه کرده باشد و هنگام ورود برای اولین بار از طریق اپل، گزینه مخفی کردن ایمیل را انتخاب کند، یک حساب کاربری جدید با این پروکسی الکترونیکی ثبت می شود. نامه، که بدیهی است حاوی هیچ مجوزی نیست، که کاربر نهایی را در بن بست قرار می دهد.
راه حل این مشکل بسیار ساده است: زیرا. اگر شناسه کاربری در SIWA یکسان است و به گزینهها/برنامهای که ورود به سیستم در آن انجام میشود بستگی ندارد، ما به سادگی از یک اسکریپت ویژه استفاده میکنیم تا به شما این امکان را بدهیم که این اتصال را از Apple به حساب دیگری با حساب واقعی کاربر تغییر دهید. صابون و در نتیجه "خریدهای خود را بازیابی کنید" پس از این روش، کاربر شروع به دسترسی به حساب دیگری در پورتال از طریق SIWA می کند و همه چیز برای او به درستی کار می کند.
هنگام ورود از طریق پورتال وب، هیچ نماد برنامه ای وجود ندارد
برای حل مشکل دیگری، ما به نمایندگان اپل برای شفاف سازی و به اشتراک گذاشتن دانش خود مراجعه کردیم:
آن ها معنی به شرح زیر است: در راس گروه SIWA m.b. فقط برنامه macOS/iOS تحویل داده می شود که شناسه های خدمات لازم پورتال ها قبلاً به آن اضافه شده است. بر این اساس، برای اینکه نماد برنامه اصلی نشان داده شود. نسخه های منتشر شده در اپ استور با رسانه هایی که توسط اپل تأیید شده اند. نماد از آنجا گرفته می شود.
بر این اساس، اگر فقط یک پورتال دارید و هیچ برنامه ای از اپ استور ندارید، آیکون زیبایی نخواهید داشت، اما می توانید از نام برنامه دور شوید - اگر برنامه اصلی رسانه ندارد، این اطلاعات برگرفته از شناسه سرویس توضیحات:
تعداد عناصر در یک گروه SIWA به 5 محدود است
در حال حاضر هیچ راه حلی برای این مشکل وجود ندارد به جز استفاده از بسیاری از گروه ها، اگر 6 شناسه را از دست داده اید: 1 برنامه سر و 5 مورد وابسته، سپس هنگامی که می خواهید مورد بعدی را ثبت کنید، این پیام را خواهید دید:
ما گروه هایی را برای پورتال مجوز خود و برای هر یک از برنامه هایی که با این پورتال تعامل دارند ایجاد کرده ایم. در مورد محدودیتهای اسلات، ما قبلاً یک رادار با اپل باز کردهایم و منتظر پاسخ آنها هستیم.
لینک های مفید
مفیدترین
لذت ببرید! سوالات، نظرات، ایده ها و پیشنهادات در نظرات پذیرفته می شود.
منبع: www.habr.com