Kiel ni konkeris Ensalutu kun Apple ĉe Parallels

Kiel ni konkeris Ensalutu kun Apple ĉe Parallels

Mi pensas, ke multaj homoj jam aŭdis Ensalutu kun Apple (mallonge SIWA) post WWDC 2019. En ĉi tiu artikolo mi diros al vi, kiajn specifajn malfacilaĵojn mi devis alfronti kiam mi integris ĉi tiun aferon en nian licencadportalon. Ĉi tiu artikolo ne estas vere por tiuj, kiuj ĵus decidis kompreni SIWA (por ili mi disponigis kelkajn edukajn ligilojn ĉe la fino de la teksto). En ĉi tiu materialo, plej verŝajne, multaj trovos respondojn al demandoj kiuj povas ŝpruci kiam integriĝas la nova servo de Apple.

Apple ne permesas kutimajn alidirektilojn

Efektive, mi ankoraŭ ne vidas respondon al ĉi tiu demando sur programistaj forumoj. La punkto estas jena: se vi volas uzi la SIWA JS API, t.e. ne funkcias per la denaska SDK pro manko de unu pro unu aŭ alia kialo (ne macOS/iOS aŭ malnova versio de ĉi tiuj sistemoj), tiam vi bezonas vian propran publikan portalon, alie ne ekzistas alia maniero. Ĉar en la portalo WWDR vi devas registriĝi kaj konfirmi, ke vi estas la posedanto de via domajno, kaj nur sur ĝi vi povas alligi alidirektilojn akcepteblajn el la vidpunkto de Apple:

Kiel ni konkeris Ensalutu kun Apple ĉe Parallels

Kion vi faru se vi volas kapti alidirektilon en aplikaĵo? Ni solvis ĉi tiun problemon ege simple: ni kreis en nia portalo liston de akcepteblaj alidirektiloj por niaj aplikaĵoj, kiujn ili mendas antaŭ ol montri la SIWA-rajtigan paĝon. Kaj ni simple alidirektas de la portalo al la aplikaĵo kun la datumoj ricevitaj de Apple. Simpla kaj kolera.

Problemoj kun retpoŝto

Ni rigardu kiel ni solvis problemojn kun la retpoŝto de la uzanto. Unue, ne ekzistas REST API, kiu ebligas al vi akiri ĉi tiujn informojn de la backend - nur la kliento ricevas ĉi tiujn datumojn kaj povas transdoni ĝin kune kun la rajtiga kodo.

Due, informoj pri la nomo kaj retpoŝto de la uzanto estas transdonitaj nur unufoje, al la unua ensaluto de la uzanto en la aplikaĵon per Apple, kie la uzanto elektas eblojn por kunhavigi siajn personajn datumojn.

En si mem, ĉi tiuj problemoj ne estas rekte kritikaj se la ligo kun la socia profilo estis sukcese kreita en la portalo - la uzantidentigilo estas la sama kaj estas ligita al la Team ID - t.e. estas la sama por ĉiuj SIWA-integraj aplikoj de via teamo. Sed se la ensaluto estis farita per Apple, kaj pli laŭ la vojo okazis eraro kaj la konekto sur la portalo ne estis kreita, tiam la sola opcio estas sendi la uzanton al appleid.apple.com, rompi la konekton kun la aplikaĵo kaj provu denove. Efektive, la problemo povas esti solvita skribante la taŭgan KB-artikolon kaj ligante al ĝi.

La sekva pli malagrabla problemo rilatas al la fakto, ke Apple elpensis novan koncepton kun prokura retpoŝto. En nia kazo, se la uzanto jam estis al la licenca portalo kun sia reala sapo kaj, kiam ensalutu unuafoje per Apple, elektas la opcion por kaŝi la retpoŝton, nova konto estas registrita kun ĉi tiu prokurilo e- poŝto, kiu evidente ne enhavas licencojn, kio metas la finuzanton en sakstraton.

La solvo de ĉi tiu problemo estas sufiĉe simpla: ĉar. Se la uzantidentigilo estas la sama en SIWA kaj ne dependas de la elektitaj opcioj/aplikaĵoj en kiuj la ensaluto estas farita, tiam ni simple uzas specialan skripton por permesi al vi ŝanĝi ĉi tiun konekton de Apple al alia konto kun la reala uzanto de la uzanto. sapo kaj tiel "restarigu viajn aĉetojn" " Post ĉi tiu proceduro, la uzanto komencas aliri alian konton en la portalo per SIWA kaj ĉio funkcias ĝuste por li.

Ne estas aplikaĵa ikono dum Ensaluto per la retportalo

Por solvi alian problemon, ni turnis nin al reprezentantoj de Apple por klarigoj kaj dividi niajn scion:

https://forums.developer.apple.com/thread/123054
Kiel ni konkeris Ensalutu kun Apple ĉe Parallels

Tiuj. la signifo estas jena: ĉe la estro de la SIWA-grupo m.b. Nur la macOS/iOS-aplikaĵo estas liverita, en kiu la necesaj servaj identigiloj de la portaloj jam estas aldonitaj. Sekve, por ke la ikono de la ĉefa aplikaĵo estu montrata. versioj publikigitaj en la App Store kun amaskomunikiloj, kiuj estis kontrolitaj de Apple. La ikono estos prenita de tie.

Sekve, se vi nur havas portalon kaj neniujn aplikaĵojn de la App Store, tiam vi ne havos belan ikonon, sed vi povas eliri la nomon de la aplikaĵo - se la ĉefa aplikaĵo ne havas amaskomunikilaron, ĉi tiu informo estas prenita de la priskriba servo ID:
Kiel ni konkeris Ensalutu kun Apple ĉe Parallels
Kiel ni konkeris Ensalutu kun Apple ĉe Parallels

La nombro da elementoj en SIWA-grupo estas limigita al 5

Nuntempe ne ekzistas solvo por ĉi tiu problemo krom uzi multajn grupojn, se vi mankas 6 identigiloj: 1 kapa aplikaĵo kaj 5 dependaj, tiam kiam vi provos registri la sekvan, vi vidos ĉi tiun mesaĝon:

Kiel ni konkeris Ensalutu kun Apple ĉe Parallels

Ni kreis grupojn por nia permesila portalo kaj por ĉiu el la aplikaĵoj, kiuj interagas kun ĉi tiu portalo. Koncerne slotlimigojn, ni jam malfermis radaron kun Apple kaj atendas ilian respondon.

utilaj ligoj

Plej utila ligilo, laŭ mi, laŭ kiu mi faris ĉion esence. Duonutila doko de Apple tie.

Ĝuu! Demandoj, pensoj, ideoj kaj sugestoj estas bonvenaj en la komentoj.

fonto: www.habr.com

Aldoni komenton