Bagaimana kami di Parallels menakluki Log Masuk dengan Apple

Bagaimana kami di Parallels menakluki Log Masuk dengan Apple

Saya rasa ramai orang sudah mendengar Log Masuk dengan Apple (pendek kata SIWA) selepas WWDC 2019. Dalam artikel ini saya akan memberitahu anda apakah perangkap khusus yang perlu saya hadapi apabila menyepadukan perkara ini ke dalam portal pelesenan kami. Artikel ini sebenarnya bukan untuk mereka yang baru memutuskan untuk memahami SIWA (bagi mereka saya telah menyediakan beberapa pautan pendidikan di akhir teks). Dalam bahan ini, kemungkinan besar, ramai akan mencari jawapan kepada soalan yang mungkin timbul apabila menyepadukan perkhidmatan Apple baharu.

Apple tidak membenarkan ubah hala tersuai

Sebenarnya, saya masih tidak melihat jawapan kepada soalan ini di forum pembangun. Intinya ialah ini: jika anda ingin menggunakan API SIWA JS, i.e. tidak berfungsi melalui SDK asli kerana kekurangan satu untuk satu sebab atau yang lain (bukan macOS/iOS atau versi lama sistem ini), maka anda memerlukan portal awam anda sendiri, jika tidak, tiada cara lain. Kerana pada portal WWDR anda perlu mendaftar dan mengesahkan bahawa anda adalah pemilik domain anda, dan hanya padanya anda boleh melampirkan ubah hala yang boleh diterima dari sudut pandangan Apple:

Bagaimana kami di Parallels menakluki Log Masuk dengan Apple

Apakah yang perlu anda lakukan jika anda ingin memintas ubah hala dalam aplikasi? Kami menyelesaikan masalah ini dengan sangat mudah: kami mencipta pada portal kami senarai ubah hala yang boleh diterima untuk aplikasi kami, yang mereka pesan sebelum memaparkan halaman kebenaran SIWA. Dan kami hanya mengubah hala dari portal ke aplikasi dengan data yang diterima daripada Apple. Sederhana dan marah.

Masalah dengan e-mel

Mari lihat cara kami menyelesaikan masalah dengan e-mel pengguna. Pertama, tiada API REST yang membolehkan anda mendapatkan maklumat ini dari bahagian belakang - hanya pelanggan yang menerima data ini dan boleh menghantarnya bersama kod kebenaran.

Kedua, maklumat tentang nama pengguna dan e-mel dihantar sekali sahaja, kepada log masuk pertama pengguna ke dalam aplikasi melalui Apple, di mana pengguna memilih pilihan untuk berkongsi data peribadinya.

Pada diri mereka sendiri, masalah ini tidak kritikal secara langsung jika sambungan dengan profil sosial berjaya dibuat di portal - ID pengguna adalah sama dan dipautkan ke ID Pasukan - i.e. ia adalah sama untuk semua aplikasi bersepadu SIWA pasukan anda. Tetapi jika log masuk dibuat melalui Apple, dan lebih jauh di sepanjang laluan ralat berlaku dan sambungan pada portal tidak dibuat, maka satu-satunya pilihan ialah menghantar pengguna ke appleid.apple.com, memutuskan sambungan dengan aplikasi dan cuba lagi. Sebenarnya, masalah itu boleh diselesaikan dengan menulis artikel KB yang sesuai dan memautkannya.

Masalah seterusnya yang lebih tidak menyenangkan adalah berkaitan dengan fakta bahawa Apple datang dengan konsep baru dengan e-mel proksi. Dalam kes kami, jika pengguna telah pergi ke portal pelesenan dengan sabun sebenarnya dan, apabila log masuk buat kali pertama melalui Apple, memilih pilihan untuk menyembunyikan e-mel, akaun baharu didaftarkan dengan e-mel proksi ini mel, yang jelas tidak mengandungi sebarang lesen, yang meletakkan pengguna akhir buntu.

Penyelesaian kepada masalah ini agak mudah: kerana. Jika ID pengguna adalah sama dalam SIWA dan tidak bergantung pada pilihan/aplikasi yang dipilih di mana log masuk dibuat, maka kami hanya menggunakan skrip khas untuk membolehkan anda menukar sambungan ini daripada Apple ke akaun lain dengan akaun sebenar pengguna. sabun dan dengan itu "pulihkan pembelian anda" " Selepas prosedur ini, pengguna mula mengakses akaun lain di portal melalui SIWA dan semuanya berfungsi dengan betul untuknya.

Tiada ikon aplikasi semasa Log masuk melalui portal web

Untuk menyelesaikan masalah lain, kami berpaling kepada wakil Apple untuk mendapatkan penjelasan dan berkongsi pengetahuan kami:

https://forums.developer.apple.com/thread/123054
Bagaimana kami di Parallels menakluki Log Masuk dengan Apple

Itu. maksudnya adalah seperti berikut: di ketua kumpulan SIWA m.b. Hanya aplikasi macOS/iOS dihantar, yang mana ID perkhidmatan yang diperlukan bagi portal telah ditambahkan. Sehubungan itu, agar ikon aplikasi utama dapat ditunjukkan. versi yang diterbitkan dalam App Store dengan media yang telah disahkan oleh Apple. Ikon akan diambil dari sana.

Sehubungan itu, jika anda hanya mempunyai portal dan tiada aplikasi dari App Store, maka anda tidak akan mempunyai ikon yang cantik, tetapi anda boleh lari dengan nama aplikasi - jika aplikasi utama tidak mempunyai media, maklumat ini adalah diambil daripada ID perkhidmatan Penerangan:
Bagaimana kami di Parallels menakluki Log Masuk dengan Apple
Bagaimana kami di Parallels menakluki Log Masuk dengan Apple

Bilangan elemen dalam kumpulan SIWA dihadkan kepada 5

Tiada penyelesaian untuk masalah ini pada masa ini kecuali menggunakan banyak kumpulan, jika anda kehilangan 6 pengecam: 1 aplikasi kepala dan 5 yang bergantung, maka apabila anda cuba mendaftar yang seterusnya anda akan melihat mesej ini:

Bagaimana kami di Parallels menakluki Log Masuk dengan Apple

Kami telah mencipta kumpulan untuk portal lesen kami dan untuk setiap aplikasi yang berinteraksi dengan portal ini. Mengenai sekatan slot, kami telah membuka radar dengan Apple dan sedang menunggu maklum balas mereka.

Pautan berguna

Paling berguna pautan, pada pendapat saya, mengikut mana saya melakukan segala-galanya pada dasarnya. Dok separuh berguna dari Apple di sini.

Nikmati! Soalan, fikiran, idea dan cadangan dialu-alukan dalam komen.

Sumber: www.habr.com

Tambah komen