Comment nous avons conquis la connexion avec Apple chez Parallels

Comment nous avons conquis la connexion avec Apple chez Parallels

Je pense que beaucoup de gens ont déjà entendu Se connecter avec Apple (SIWA en abrégé) après la WWDC 2019. Dans cet article, je vais vous expliquer les pièges spécifiques auxquels j'ai dû faire face lors de l'intégration de cette chose dans notre portail de licences. Cet article ne s'adresse pas vraiment à ceux qui viennent de décider de comprendre SIWA (pour eux j'ai fourni un certain nombre de liens pédagogiques en fin de texte). Dans ce document, beaucoup trouveront probablement des réponses aux questions qui peuvent se poser lors de l'intégration du nouveau service Apple.

Apple n'autorise pas les redirections personnalisées

En fait, je ne vois toujours pas de réponse à cette question sur les forums de développeurs. Le point est le suivant : si vous souhaitez utiliser l'API SIWA JS, c'est-à-dire ne travaillez pas via le SDK natif en raison de l'absence de celui-ci pour une raison ou une autre (pas macOS/iOS ou une ancienne version de ces systèmes), alors vous avez besoin de votre propre portail public, sinon il n'y a pas d'autre moyen. Parce que sur le portail WWDR, ​​vous devez vous inscrire et confirmer que vous êtes le propriétaire de votre domaine, et ce n'est que sur celui-ci que vous pouvez joindre des redirections acceptables du point de vue d'Apple :

Comment nous avons conquis la connexion avec Apple chez Parallels

Que faire si vous souhaitez intercepter une redirection dans une application ? Nous avons résolu ce problème de manière extrêmement simple : nous avons créé sur notre portail une liste de redirections acceptables pour nos applications, qu'elles commandent avant d'afficher la page d'autorisation SIWA. Et nous redirigeons simplement du portail vers l'application avec les données reçues d'Apple. Simple et colérique.

Problèmes avec le courrier électronique

Voyons comment nous avons résolu les problèmes liés à la messagerie électronique de l'utilisateur. Premièrement, il n'existe pas d'API REST qui vous permet d'obtenir ces informations du backend - seul le client reçoit ces données et peut les transmettre avec le code d'autorisation.

Deuxièmement, les informations sur le nom et l’adresse e-mail de l’utilisateur ne sont transmises qu’une seule fois, lors de la toute première connexion de l’utilisateur à l’application via Apple, où l’utilisateur sélectionne les options de partage de ses données personnelles.

En eux-mêmes, ces problèmes ne sont pas directement critiques si la connexion avec le profil social a été créée avec succès sur le portail - l'ID utilisateur est le même et est lié à l'ID d'équipe - c'est-à-dire il en est de même pour toutes les applications intégrées SIWA de votre équipe. Mais si la connexion a été effectuée via Apple et qu'une erreur s'est produite plus loin et que la connexion sur le portail n'a pas été créée, la seule option est d'envoyer l'utilisateur vers appleid.apple.com, de rompre la connexion avec l'application et essayer à nouveau. En fait, le problème peut être résolu en écrivant l'article de la base de connaissances approprié et en créant un lien vers celui-ci.

Le problème suivant, plus désagréable, est lié au fait qu'Apple a inventé un nouveau concept de courrier électronique proxy. Dans notre cas, si l'utilisateur a déjà accédé au portail de licence avec son vrai savon et, lors de sa première connexion via Apple, sélectionne l'option pour masquer l'e-mail, un nouveau compte est enregistré avec ce proxy e- mail, qui ne contient évidemment aucune licence, ce qui met l'utilisateur final dans une impasse.

La solution à ce problème est assez simple : parce que. Si l'ID utilisateur est le même dans SIWA et ne dépend pas des options/applications sélectionnées dans lesquelles la connexion est effectuée, nous utilisons simplement un script spécial pour vous permettre de basculer cette connexion d'Apple vers un autre compte avec le véritable compte de l'utilisateur. du savon et ainsi « restaurer vos achats » » Après cette procédure, l'utilisateur commence à accéder à un autre compte sur le portail via SIWA et tout fonctionne correctement pour lui.

Il n'y a pas d'icône d'application lors de la connexion via le portail Web

Pour résoudre un autre problème, nous nous sommes tournés vers les représentants Apple pour obtenir des éclaircissements et partager nos connaissances :

https://forums.developer.apple.com/thread/123054
Comment nous avons conquis la connexion avec Apple chez Parallels

Ceux. la signification est la suivante : à la tête du groupe SIWA m.b. Seule l'application macOS/iOS est livrée, dans laquelle sont déjà ajoutés les ID de service nécessaires des portails. En conséquence, pour que l'icône de l'application principale soit affichée. versions publiées dans l'App Store avec des médias vérifiés par Apple. L'icône sera prise à partir de là.

Par conséquent, si vous n'avez qu'un portail et aucune application de l'App Store, vous n'aurez pas de belle icône, mais vous pouvez vous en sortir avec le nom de l'application - si l'application principale n'a pas de média, cette information est extrait de l'ID du service de description :
Comment nous avons conquis la connexion avec Apple chez Parallels
Comment nous avons conquis la connexion avec Apple chez Parallels

Le nombre d'éléments dans un groupe SIWA est limité à 5

Il n'y a pas de solution à ce problème pour le moment sauf à utiliser plusieurs groupes, s'il vous manque 6 identifiants : 1 application principale et 5 dépendants, alors lorsque vous tenterez d'enregistrer la suivante vous verrez ce message :

Comment nous avons conquis la connexion avec Apple chez Parallels

Nous avons créé des groupes pour notre portail de licences et pour chacune des applications qui interagissent avec ce portail. Concernant les restrictions de slots, nous avons déjà ouvert un radar avec Apple et attendons leur réponse.

Liens utiles

Le plus utile инк, à mon avis, selon lequel j'ai tout fait pour l'essentiel. Dock semi-utile d'Apple ici.

Apprécier! Les questions, réflexions, idées et suggestions sont les bienvenues dans les commentaires.

Source: habr.com

Ajouter un commentaire