Jak jsme dobyli přihlášení s Apple na Parallels

Jak jsme dobyli přihlášení s Apple na Parallels

Myslím, že mnoho lidí již slyšelo Sign In with Apple (zkráceně SIWA) po WWDC 2019. V tomto článku vám řeknu, jaká konkrétní úskalí jsem musel čelit při integraci této věci do našeho licenčního portálu. Tento článek opravdu není pro ty, kteří se právě rozhodli porozumět SIWA (pro ty jsem na konci textu uvedl řadu vzdělávacích odkazů). V tomto materiálu s největší pravděpodobností mnozí najdou odpovědi na otázky, které mohou vyvstat při integraci nové služby Apple.

Apple nepovoluje vlastní přesměrování

Ve skutečnosti stále nevidím odpověď na tuto otázku na vývojářských fórech. Jde o toto: pokud chcete používat SIWA JS API, tzn. nefungují prostřednictvím nativního SDK kvůli jeho nedostatku z toho či onoho důvodu (nikoli macOS/iOS nebo stará verze těchto systémů), pak potřebujete vlastní veřejný portál, jinak neexistuje žádná jiná cesta. Protože na portálu WWDR se musíte zaregistrovat a potvrdit, že jste vlastníkem své domény a pouze na něj můžete připojit přesměrování, která jsou z pohledu Applu přijatelná:

Jak jsme dobyli přihlášení s Apple na Parallels

Co byste měli udělat, pokud chcete zachytit přesměrování v aplikaci? Tento problém jsme vyřešili velmi jednoduše: na našem portálu jsme vytvořili seznam přijatelných přesměrování pro naše aplikace, které si objednávají před zobrazením stránky autorizace SIWA. A jednoduše přesměrujeme z portálu do aplikace s daty přijatými od Applu. Jednoduché a naštvané.

Problémy s emailem

Podívejme se, jak jsme vyřešili problémy s e-mailem uživatele. Za prvé, neexistuje žádné REST API, které vám umožní získat tyto informace z backendu – pouze klient obdrží tato data a může je přenést spolu s autorizačním kódem.

Za druhé, informace o jménu a e-mailu uživatele se přenáší pouze jednou, a to při jeho prvním přihlášení do aplikace přes Apple, kde si uživatel vybere možnosti sdílení svých osobních údajů.

Samy o sobě tyto problémy nejsou přímo kritické, pokud bylo na portálu úspěšně vytvořeno spojení se sociálním profilem - ID uživatele je stejné a je propojeno s ID týmu - tzn. je to stejné pro všechny aplikace integrované do SIWA vašeho týmu. Pokud ale bylo přihlášení provedeno přes Apple a dále na cestě došlo k chybě a spojení na portálu nebylo vytvořeno, pak jedinou možností je poslat uživatele na appleid.apple.com, přerušit spojení s aplikací a Zkus to znovu. Ve skutečnosti lze problém vyřešit napsáním příslušného článku KB a odkazem na něj.

Další nepříjemnější problém souvisí s tím, že Apple přišel s novým konceptem proxy e-mailu. V našem případě, pokud uživatel již byl na licenčním portálu se svým skutečným mýdlem a při prvním přihlášení přes Apple vybere možnost skrýt e-mail, je registrován nový účet s tímto proxy e- mail, který zjevně neobsahuje žádné licence, což staví koncového uživatele do slepé uličky.

Řešení tohoto problému je celkem jednoduché: protože. Pokud je ID uživatele stejné v SIWA a nezávisí na vybraných možnostech/aplikacích, do kterých se přihlášení provádí, pak jednoduše použijeme speciální skript, který vám umožní přepnout toto připojení z Apple na jiný účet se skutečným uživatelem mýdlo a tím „obnovit své nákupy“ “ Po tomto postupu začne uživatel přistupovat k jinému účtu na portálu přes SIWA a vše mu funguje správně.

Při přihlášení přes webový portál není žádná ikona aplikace

Abychom vyřešili další problém, obrátili jsme se na zástupce společnosti Apple s žádostí o vysvětlení a sdílení našich znalostí:

https://forums.developer.apple.com/thread/123054
Jak jsme dobyli přihlášení s Apple na Parallels

Tito. význam je následující: v čele skupiny SIWA m.b. Dodává se pouze aplikace macOS/iOS, do které jsou již přidána potřebná servisní ID portálů. Podle toho, aby se zobrazila ikona hlavní aplikace. verze publikované v App Store s médii, která byla ověřena společností Apple. Ikona bude převzata odtud.

Pokud tedy máte pouze portál a žádné aplikace z App Store, pak nebudete mít krásnou ikonu, ale můžete se zbavit názvu aplikace - pokud hlavní aplikace nemá média, tato informace je převzato z ID služby popisu:
Jak jsme dobyli přihlášení s Apple na Parallels
Jak jsme dobyli přihlášení s Apple na Parallels

Počet prvků ve skupině SIWA je omezen na 5

V tuto chvíli neexistuje žádné řešení tohoto problému kromě použití mnoha skupin, pokud vám chybí 6 identifikátorů: 1 hlavní aplikace a 5 závislých, pak když se pokusíte zaregistrovat další, zobrazí se tato zpráva:

Jak jsme dobyli přihlášení s Apple na Parallels

Vytvořili jsme skupiny pro náš licenční portál a pro každou z aplikací, které s tímto portálem spolupracují. Pokud jde o omezení slotů, již jsme s Applem otevřeli radar a čekáme na jejich reakci.

Užitečné odkazy

Nejužitečnější odkaz, podle mého názoru, podle kterého jsem vše zásadně dělal. Poloužitečný dok od Apple zde.

Užívat si! Dotazy, nápady, nápady a návrhy vítám v komentářích.

Zdroj: www.habr.com

Přidat komentář