Πώς κατακτήσαμε την Είσοδο με την Apple στο Parallels

Πώς κατακτήσαμε την Είσοδο με την Apple στο Parallels

Νομίζω ότι πολλοί άνθρωποι άκουσαν ήδη το Sign In with Apple (SIWA για συντομία) μετά το WWDC 2019. Σε αυτό το άρθρο θα σας πω ποιες συγκεκριμένες παγίδες έπρεπε να αντιμετωπίσω κατά την ενσωμάτωση αυτού του πράγματος στην πύλη αδειοδότησης. Αυτό το άρθρο δεν είναι πραγματικά για εκείνους που μόλις αποφάσισαν να κατανοήσουν το SIWA (για αυτούς έχω παράσχει μια σειρά από εκπαιδευτικούς συνδέσμους στο τέλος του κειμένου). Σε αυτό το υλικό, πιθανότατα, πολλοί θα βρουν απαντήσεις σε ερωτήσεις που μπορεί να προκύψουν κατά την ενσωμάτωση της νέας υπηρεσίας Apple.

Η Apple δεν επιτρέπει προσαρμοσμένες ανακατευθύνσεις

Στην πραγματικότητα, ακόμα δεν βλέπω απάντηση σε αυτήν την ερώτηση στα φόρουμ προγραμματιστών. Το θέμα είναι το εξής: εάν θέλετε να χρησιμοποιήσετε το SIWA JS API, π.χ. μην λειτουργείτε μέσω του εγγενούς SDK λόγω έλλειψης ενός για τον ένα ή τον άλλο λόγο (όχι macOS/iOS ή παλιά έκδοση αυτών των συστημάτων), τότε χρειάζεστε τη δική σας δημόσια πύλη, διαφορετικά δεν υπάρχει άλλος τρόπος. Επειδή στην πύλη WWDR πρέπει να εγγραφείτε και να επιβεβαιώσετε ότι είστε ο κάτοχος του τομέα σας και μόνο σε αυτήν μπορείτε να επισυνάψετε ανακατευθύνσεις που είναι αποδεκτές από την άποψη της Apple:

Πώς κατακτήσαμε την Είσοδο με την Apple στο Parallels

Τι πρέπει να κάνετε εάν θέλετε να παρεμποδίσετε μια ανακατεύθυνση σε μια εφαρμογή; Επιλύσαμε αυτό το πρόβλημα εξαιρετικά απλά: δημιουργήσαμε στην πύλη μας μια λίστα με αποδεκτές ανακατευθύνσεις για τις εφαρμογές μας, τις οποίες παραγγέλνουν πριν εμφανιστεί η σελίδα εξουσιοδότησης SIWA. Και απλώς ανακατευθύνουμε από την πύλη στην εφαρμογή με τα δεδομένα που λαμβάνονται από την Apple. Απλό και θυμωμένο.

Προβλήματα με το email

Ας δούμε πώς λύσαμε προβλήματα με το email του χρήστη. Πρώτον, δεν υπάρχει REST API που να σας επιτρέπει να λαμβάνετε αυτές τις πληροφορίες από το backend - μόνο ο πελάτης λαμβάνει αυτά τα δεδομένα και μπορεί να τα μεταδώσει μαζί με τον κωδικό εξουσιοδότησης.

Δεύτερον, πληροφορίες σχετικά με το όνομα και το e-mail του χρήστη μεταδίδονται μόνο μία φορά, στην πρώτη κιόλας είσοδο του χρήστη στην εφαρμογή μέσω της Apple, όπου ο χρήστης επιλέγει επιλογές για την κοινή χρήση των προσωπικών του δεδομένων.

Από μόνα τους, αυτά τα προβλήματα δεν είναι άμεσα κρίσιμα εάν η σύνδεση με το κοινωνικό προφίλ δημιουργήθηκε με επιτυχία στην πύλη - το αναγνωριστικό χρήστη είναι το ίδιο και συνδέεται με το αναγνωριστικό ομάδας - π.χ. είναι το ίδιο για όλες τις ενσωματωμένες στο SIWA εφαρμογές της ομάδας σας. Αλλά εάν η σύνδεση έγινε μέσω της Apple και περαιτέρω κατά μήκος της διαδρομής παρουσιάστηκε σφάλμα και η σύνδεση στην πύλη δεν δημιουργήθηκε, τότε η μόνη επιλογή είναι να στείλετε τον χρήστη στο appleid.apple.com, να διακόψετε τη σύνδεση με την εφαρμογή και προσπάθησε ξανά. Στην πραγματικότητα, το πρόβλημα μπορεί να λυθεί γράφοντας το κατάλληλο άρθρο KB και συνδέοντας σε αυτό.

Το επόμενο πιο δυσάρεστο πρόβλημα σχετίζεται με το γεγονός ότι η Apple βρήκε μια νέα ιδέα με το e-mail μεσολάβησης. Στην περίπτωσή μας, εάν ο χρήστης έχει ήδη επισκεφτεί την πύλη αδειοδότησης με το πραγματικό του σαπούνι και, όταν συνδεθεί για πρώτη φορά μέσω της Apple, επιλέξει την απόκρυψη του e-mail, ένας νέος λογαριασμός έχει εγγραφεί με αυτό το proxy e- mail, το οποίο προφανώς δεν περιέχει άδειες, γεγονός που βάζει τον τελικό χρήστη σε αδιέξοδο.

Η λύση σε αυτό το πρόβλημα είναι αρκετά απλή: γιατί. Εάν το αναγνωριστικό χρήστη είναι το ίδιο στο SIWA και δεν εξαρτάται από τις επιλεγμένες επιλογές/εφαρμογή στην οποία γίνεται η σύνδεση, τότε απλώς χρησιμοποιούμε ένα ειδικό σενάριο για να σας επιτρέψουμε να αλλάξετε αυτήν τη σύνδεση από την Apple σε άλλον λογαριασμό με τον πραγματικό του χρήστη σαπούνι και ως εκ τούτου "αποκαταστήστε τις αγορές σας" " Μετά από αυτή τη διαδικασία, ο χρήστης αρχίζει να έχει πρόσβαση σε άλλο λογαριασμό στην πύλη μέσω του SIWA και όλα λειτουργούν σωστά για αυτόν.

Δεν υπάρχει εικονίδιο εφαρμογής κατά την είσοδο μέσω της διαδικτυακής πύλης

Για να λύσουμε ένα άλλο πρόβλημα, απευθυνθήκαμε στους εκπροσώπους της Apple για διευκρίνιση και μοιραστήκαμε τις γνώσεις μας:

https://forums.developer.apple.com/thread/123054
Πώς κατακτήσαμε την Είσοδο με την Apple στο Parallels

Εκείνοι. το νόημα έχει ως εξής: επικεφαλής του ομίλου SIWA m.b. Παραδίδεται μόνο η εφαρμογή macOS/iOS, στην οποία έχουν ήδη προστεθεί τα απαραίτητα αναγνωριστικά υπηρεσίας των πυλών. Αντίστοιχα, για να εμφανίζεται το εικονίδιο της κύριας εφαρμογής. εκδόσεις που δημοσιεύονται στο App Store με μέσα που έχουν επαληθευτεί από την Apple. Το εικονίδιο θα ληφθεί από εκεί.

Αντίστοιχα, εάν έχετε μόνο μια πύλη και καμία εφαρμογή από το App Store, τότε δεν θα έχετε ένα όμορφο εικονίδιο, αλλά μπορείτε να ξεφύγετε από το όνομα της εφαρμογής - εάν η κύρια εφαρμογή δεν διαθέτει πολυμέσα, αυτές οι πληροφορίες είναι λαμβάνονται από το αναγνωριστικό υπηρεσίας περιγραφής:
Πώς κατακτήσαμε την Είσοδο με την Apple στο Parallels
Πώς κατακτήσαμε την Είσοδο με την Apple στο Parallels

Ο αριθμός των στοιχείων σε μια ομάδα SIWA περιορίζεται σε 5

Δεν υπάρχει λύση σε αυτό το πρόβλημα αυτή τη στιγμή εκτός από τη χρήση πολλών ομάδων, εάν λείπουν 6 αναγνωριστικά: 1 εφαρμογή κεφαλής και 5 εξαρτημένες, τότε όταν προσπαθήσετε να καταχωρίσετε την επόμενη θα δείτε αυτό το μήνυμα:

Πώς κατακτήσαμε την Είσοδο με την Apple στο Parallels

Έχουμε δημιουργήσει ομάδες για την πύλη αδειών μας και για καθεμία από τις εφαρμογές που αλληλεπιδρούν με αυτήν την πύλη. Όσον αφορά τους περιορισμούς των slot, έχουμε ήδη ανοίξει ραντάρ με την Apple και περιμένουμε την απάντησή τους.

χρήσιμοι σύνδεσμοι

Το πιο χρήσιμο Σύνδεσμος, κατά τη γνώμη μου, σύμφωνα με την οποία έκανα τα πάντα ουσιαστικά. Ημιχρήσιμο dock από την Apple εδώ.

Απολαμβάνω! Ερωτήσεις, σκέψεις, ιδέες και προτάσεις είναι ευπρόσδεκτες στα σχόλια.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο