Biz Parallels kompaniyasida Apple bilan tizimga kirishni qanday mag'lub etdik

Biz Parallels kompaniyasida Apple bilan tizimga kirishni qanday mag'lub etdik

O'ylaymanki, ko'pchilik WWDC 2019dan keyin Apple bilan tizimga kirishni (qisqacha SIWA) eshitgan. Materialda men sizga ushbu narsani litsenziyalash portalimizga integratsiyalashganda qanday aniq tuzoqlarga duch kelganimni aytib beraman. Ushbu maqola aslida SIWA ni tushunishga qaror qilganlar uchun emas (ular uchun men matn oxirida bir qator ta'lim havolalarini taqdim etdim). Ushbu materialda, ehtimol, ko'pchilik yangi Apple xizmatini integratsiyalashganda paydo bo'lishi mumkin bo'lgan savollarga javob topadi.

Apple maxsus qayta yo'naltirishga ruxsat bermaydi

Aslida, men hali ishlab chiquvchilar forumlarida bu savolga javob ko'rmayapman. Gap shundaki: agar siz SIWA JS API dan foydalanmoqchi bo'lsangiz, ya'ni. u yoki bu sabablarga ko'ra yo'qligi sababli mahalliy SDK orqali ishlamang (macOS/iOS yoki ushbu tizimlarning eski versiyasi emas), unda sizga shaxsiy umumiy portal kerak bo'ladi, aks holda boshqa yo'l yo'q. Chunki WWDR portalida siz ro'yxatdan o'tishingiz va domeningiz egasi ekanligingizni tasdiqlashingiz kerak va faqat unga Apple nuqtai nazaridan maqbul bo'lgan yo'naltirishlarni biriktirishingiz mumkin:

Biz Parallels kompaniyasida Apple bilan tizimga kirishni qanday mag'lub etdik

Ilovada qayta yo'naltirishni to'xtatmoqchi bo'lsangiz nima qilish kerak? Biz bu muammoni juda oddiy hal qildik: biz portalimizda ilovalarimiz uchun SIWA avtorizatsiya sahifasini ko‘rsatishdan oldin buyurtma beradigan qabul qilinadigan yo‘naltirishlar ro‘yxatini yaratdik. Va biz shunchaki Apple-dan olingan ma'lumotlar bilan portaldan ilovaga yo'naltiramiz. Oddiy va g'azablangan.

Elektron pochta bilan bog'liq muammolar

Keling, foydalanuvchining elektron pochtasi bilan bog'liq muammolarni qanday hal qilganimizni ko'rib chiqaylik. Birinchidan, ushbu ma'lumotni backenddan olish imkonini beruvchi REST API mavjud emas - faqat mijoz bu ma'lumotlarni oladi va uni avtorizatsiya kodi bilan birga uzatishi mumkin.

Ikkinchidan, foydalanuvchining ismi va elektron pochtasi haqidagi ma'lumotlar faqat bir marta, foydalanuvchining Apple orqali ilovaga birinchi kirishiga uzatiladi, u erda foydalanuvchi shaxsiy ma'lumotlarini almashish variantlarini tanlaydi.

O'z-o'zidan, bu muammolar to'g'ridan-to'g'ri muhim emas, agar portalda ijtimoiy profil bilan aloqa muvaffaqiyatli yaratilgan bo'lsa - foydalanuvchi identifikatori bir xil va Jamoa identifikatori bilan bog'langan - ya'ni. Bu sizning jamoangizning barcha SIWA bilan birlashtirilgan ilovalari uchun bir xil. Ammo agar tizimga kirish Apple orqali amalga oshirilgan bo'lsa va keyinchalik yo'lda xatolik yuzaga kelgan bo'lsa va portalda ulanish o'rnatilmagan bo'lsa, unda yagona variant - foydalanuvchini appleid.apple.com saytiga yuborish, ilova bilan aloqani uzish va qayta urinib ko'ring. Aslida, muammoni tegishli KB maqolasini yozish va unga bog'lash orqali hal qilish mumkin.

Keyingi ko'proq noxush muammo Apple proksi elektron pochta bilan yangi kontseptsiyani ishlab chiqqani bilan bog'liq. Bizning holatda, agar foydalanuvchi o'zining haqiqiy sovun bilan litsenziyalash portaliga kirgan bo'lsa va Apple orqali birinchi marta tizimga kirganda, elektron pochtani yashirish variantini tanlasa, ushbu proksi-serverda yangi hisob qaydnomasi ro'yxatdan o'tkaziladi. mail, bu aniq litsenziyalarni o'z ichiga olmaydi, bu esa oxirgi foydalanuvchini boshi berk ko'chaga solib qo'yadi.

Bu muammoni hal qilish juda oddiy: chunki. Agar foydalanuvchi identifikatori SIWA-da bir xil bo'lsa va tizimga kirish amalga oshirilgan tanlangan variantlarga/ilovaga bog'liq bo'lmasa, biz shunchaki maxsus skriptdan foydalanamiz, bu holda ushbu ulanishni Apple-dan foydalanuvchining haqiqiy hisob qaydnomasi bilan boshqa hisobga o'tkazish imkonini beradi. sovun va shu bilan "xaridlaringizni tiklang" " Ushbu protseduradan so'ng, foydalanuvchi SIWA orqali portaldagi boshqa hisobga kirishni boshlaydi va u uchun hamma narsa to'g'ri ishlaydi.

Veb-portal orqali tizimga kirishda ilova belgisi yo'q

Yana bir muammoni hal qilish uchun biz Apple vakillariga aniqlik kiritish va bilimlarimizni baham ko'rish uchun murojaat qildik:

https://forums.developer.apple.com/thread/123054
Biz Parallels kompaniyasida Apple bilan tizimga kirishni qanday mag'lub etdik

Bular. ma'nosi quyidagicha: SIWA guruhi boshida m.b. Faqat macOS/iOS ilovasi yetkaziladi, unga portallarning kerakli xizmat identifikatorlari allaqachon qo'shilgan. Shunga ko'ra, asosiy ilovaning belgisi ko'rsatilishi uchun. Apple tomonidan tasdiqlangan media bilan App Store do'konida nashr etilgan versiyalar. Belgi u yerdan olinadi.

Shunga ko'ra, agar sizda faqat portal mavjud bo'lsa va App Store'dan ilovalar yo'q bo'lsa, unda sizda chiroyli belgi bo'lmaydi, lekin siz ilova nomidan qutulishingiz mumkin - agar asosiy ilovada media bo'lmasa, bu ma'lumot Tavsif xizmati identifikatoridan olingan:
Biz Parallels kompaniyasida Apple bilan tizimga kirishni qanday mag'lub etdik
Biz Parallels kompaniyasida Apple bilan tizimga kirishni qanday mag'lub etdik

SIWA guruhidagi elementlar soni 5 ta bilan cheklangan

Hozirda bu muammoning yechimi yo‘q, agar sizda 6 ta identifikator etishmayotgan bo‘lsa: 1 ta bosh ilova va 5 ta qaram bo‘lgan identifikatorlar ko‘p guruhlardan foydalanishdan tashqari, keyingisini ro‘yxatdan o‘tkazmoqchi bo‘lganingizda quyidagi xabarni ko‘rasiz:

Biz Parallels kompaniyasida Apple bilan tizimga kirishni qanday mag'lub etdik

Biz litsenziya portalimiz va ushbu portal bilan o'zaro aloqada bo'lgan har bir ilova uchun guruhlar yaratdik. Slot cheklovlariga kelsak, biz allaqachon Apple bilan radar ochdik va ularning javobini kutmoqdamiz.

Foydali havolalar

Eng foydali havola, mening fikrimcha, men hamma narsani mohiyatan qildim. Apple'dan yarim foydali dock shu yerda.

Rohatlaning! Savollar, fikrlar, g'oyalar va takliflar sharhlarda qabul qilinadi.

Manba: www.habr.com

a Izoh qo'shish