Како ние во Паралелите го освоивме Пријавете се со Apple

Како ние во Паралелите го освоивме Пријавете се со Apple

Мислам дека многу луѓе веќе слушнаа Пријавување со Apple (накратко SIWA) по WWDC 2019 година. Во оваа статија ќе ви кажам со какви специфични замки морав да се соочам при интегрирањето на оваа работа во нашиот портал за лиценцирање. Оваа статија навистина не е за оние кои штотуку решија да го разберат SIWA (за нив дадов голем број едукативни врски на крајот од текстот). Во овој материјал, најверојатно, многумина ќе најдат одговори на прашања што може да се појават при интегрирање на новата услуга на Apple.

Apple не дозволува прилагодени пренасочувања

Всушност, сè уште не гледам одговор на ова прашање на форумите за програмери. Поентата е следна: ако сакате да го користите SIWA JS API, т.е. не работи преку мајчин SDK поради недостаток на една од една или друга причина (не macOS/iOS или стара верзија на овие системи), тогаш ти треба свој јавен портал, инаку нема друг начин. Бидејќи на порталот WWDR треба да се регистрирате и потврдите дека сте сопственик на вашиот домен и само на него можете да прикачите пренасочувања што се прифатливи од гледна точка на Apple:

Како ние во Паралелите го освоивме Пријавете се со Apple

Што треба да направите ако сакате да пресретнете пренасочување во апликација? Овој проблем го решивме исклучително едноставно: на нашиот портал создадовме листа на прифатливи пренасочувања за нашите апликации, кои тие ги нарачуваат пред да ја прикажат страницата за авторизација SIWA. А ние едноставно се пренасочуваме од порталот до апликацијата со податоците добиени од Apple. Едноставно и луто.

Проблеми со е-пошта

Ајде да погледнеме како ги решивме проблемите со е-поштата на корисникот. Прво, не постои REST API што ви овозможува да ги добивате овие информации од задниот дел - само клиентот ги добива овие податоци и може да ги пренесе заедно со кодот за авторизација.

Второ, информациите за името и е-поштата на корисникот се пренесуваат само еднаш, до првото најавување на корисникот во апликацијата преку Apple, каде што корисникот избира опции за споделување на неговите лични податоци.

Самите по себе, овие проблеми не се директно критични ако врската со социјалниот профил е успешно креирана на порталот - корисничкиот ID е ист и е поврзан со ID на тимот - т.е. истото е за сите SIWA-интегрирани апликации на вашиот тим. Но, ако најавувањето е направено преку Apple, а понатаму по патеката настанала грешка и врската на порталот не е создадена, тогаш единствената опција е да го испратите корисникот на appleid.apple.com, да ја прекинете врската со апликацијата и обиди се повторно. Всушност, проблемот може да се реши со пишување на соодветната КБ статија и поврзување со неа.

Следниот понепријатен проблем е поврзан со фактот дека Apple излезе со нов концепт со прокси е-пошта. Во нашиот случај, ако корисникот веќе бил на порталот за лиценцирање со својот вистински сапун и, при првото најавување преку Apple, ја избере опцијата да ја скрие е-поштата, се регистрира нова сметка со овој прокси е- пошта, која очигледно не содржи никакви лиценци, што го става крајниот корисник во ќорсокак.

Решението за овој проблем е прилично едноставно: затоа што. Ако корисничкиот ID е ист во SIWA и не зависи од избраните опции/апликација во која е направено најавувањето, тогаш едноставно користиме специјална скрипта за да ви овозможиме да ја префрлите оваа врска од Apple на друга сметка со вистинскиот на корисникот сапун и со тоа „вратете ги вашите набавки“ По оваа постапка, корисникот почнува да пристапува до друга сметка на порталот преку SIWA и сè работи правилно за него.

Нема икона за апликација кога се најавувате преку веб-порталот

За да решиме друг проблем, се обративме до претставниците на Apple за појаснување и споделување на нашето знаење:

https://forums.developer.apple.com/thread/123054
Како ние во Паралелите го освоивме Пријавете се со Apple

Оние. значењето е следново: на чело на групата SIWA м.б. Се доставува само апликацијата macOS/iOS, во која веќе се додадени потребните сервисни ID на порталите. Соодветно на тоа, за да се прикаже иконата на главната апликација. верзии објавени во App Store со медиуми кои се потврдени од Apple. Иконата ќе биде земена од таму.

Според тоа, ако имате само портал и немате апликации од App Store, тогаш нема да имате убава икона, но можете да се извлечете со името на апликацијата - ако главната апликација нема медиуми, оваа информација е преземено од ID на услугата Опис:
Како ние во Паралелите го освоивме Пријавете се со Apple
Како ние во Паралелите го освоивме Пријавете се со Apple

Бројот на елементи во групата SIWA е ограничен на 5

Во моментов нема решение за овој проблем освен да користите многу групи, ако ви недостасуваат 6 идентификатори: 1 главна апликација и 5 зависни, тогаш кога ќе се обидете да ја регистрирате следната ќе ја видите оваа порака:

Како ние во Паралелите го освоивме Пријавете се со Apple

Создадовме групи за нашиот портал за лиценци и за секоја од апликациите што комуницираат со овој портал. Во врска со ограничувањата на слотот, веќе отворивме радар со Apple и го чекаме нивниот одговор.

Корисни линкови

Најкорисен врска, според мене, според кој сум направил се суштински. Полукорисна док од Apple тука.

Уживајте! Прашања, размислувања, идеи и предлози се добредојдени во коментар.

Извор: www.habr.com

Додадете коментар