OAuth 2.0 101

Συγγραφέας: Judy Howell
Ημερομηνία Δημιουργίας: 26 Ιούλιος 2021
Ημερομηνία Ενημέρωσης: 23 Ιούνιος 2024
Anonim
OAuth 2.0: An Overview
Βίντεο: OAuth 2.0: An Overview

Περιεχόμενο


Πάρε μακριά:

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

Πολλά αυτοκίνητα πολυτελείας έρχονται με κλειδί καλέντουλας. Είναι ένα ειδικό κλειδί που δίνετε στον υπάλληλο στάθμευσης και σε αντίθεση με το κανονικό κλειδί σας, θα επιτρέψει μόνο το αυτοκίνητο να οδηγείται σε μικρή απόσταση, ενώ εμποδίζει την πρόσβαση στον κορμό και το ενσωματωμένο κινητό τηλέφωνο. Ανεξάρτητα από τους περιορισμούς που επιβάλλει το κλειδί του καπετάνιου, η ιδέα είναι πολύ έξυπνη. Παρέχετε σε κάποιον περιορισμένη πρόσβαση στο αυτοκίνητό σας με ειδικό κλειδί, ενώ χρησιμοποιείτε άλλο κλειδί για να ξεκλειδώσετε όλα τα υπόλοιπα. - Ο επίσημος οδηγός για το OAuth 1.0

Αυτός είναι ο τρόπος με τον οποίο οι κατευθυντήριες γραμμές προδιαγραφών που βασίζονται στην κοινότητα εξήγησαν τον τρόπο λειτουργίας του OAuth το 2007. Και ενώ το OAuth 2.0 είναι ένα εντελώς νέο πρωτόκολλο, εξακολουθεί να ισχύει η ίδια περιγραφή - Το OAuth παραμένει ένας τρόπος για τους χρήστες να παρέχουν πρόσβαση τρίτων (και περιορισμένη πρόσβαση) χωρίς να μοιράζονται τους κωδικούς πρόσβασής τους.

Εάν είστε στο Διαδίκτυο τακτικά, πιθανότατα έχετε συναντήσει έναν ιστότοπο που χρησιμοποιεί το OAuth. Μετά από όλα, οι μεγαλύτεροι ιστοχώροι στον κόσμο, όπως το Google, το MySpace, το Photobcuket, το Yahoo, το Evernote και το Vimeo, χρησιμοποιούν αυτό το πρότυπο πιστοποίησης. Διαβάστε παρακάτω για να μάθετε περισσότερα σχετικά με αυτό το πρότυπο και γιατί η επόμενη γενιά, το OAuth 2.0, εξακολουθεί να χρησιμοποιείται σε σχετικά πειραματική βάση.

Τι είναι το OAuth 2.0;

Πρώτον, πρέπει να ξέρετε τι κάνει το OAuth ως πρωτόκολλο: Επιτρέπει την εξουσιοδότηση διεπαφής προγραμματισμού εφαρμογών μεταξύ δύο εφαρμογών Web ή επιτραπέζιων υπολογιστών. Ως αποτέλεσμα, οι ιστότοποι μπορούν να μοιράζονται προστατευμένους πόρους με άλλους ιστότοπους και υπηρεσίες.

Για παράδειγμα, εάν παίζετε Scramble με φίλους στο iPad σας, μπορείτε να εισαγάγετε τα διαπιστευτήριά σας, επιτρέποντας στο παιχνίδι να αναζητήσει τη λίστα των φίλων σας για να δείτε ποιοι παίζουν το παιχνίδι - και να προσκαλέσετε άλλους να συμμετάσχουν. Ή θα μπορούσατε να συνδεθείτε με φίλους στο Google+ με βάση τα άτομα που σας ακολουθούν. Αυτού του είδους οι εφαρμογές είναι χρήσιμες για τους χρήστες, αλλά περιλαμβάνουν την παροχή ενός ιστότοπου ή προγράμματος πρόσβασης σε πληροφορίες σχετικά με εσάς σε έναν άλλο ιστότοπο.

Το OAuth 2.0 λειτουργεί σαν την πρώτη ενσάρκωση του OAuth, αλλά είναι ένα εντελώς νέο πρότυπο εντελώς. Αυτό σημαίνει ότι δεν είναι συμβατό με το OAuth 1.0. Η έκδοση 2.0 καθαρίζει πολλά από τα προβλήματα με το αρχικό OAuth και πραγματοποιεί βελτιώσεις.

Ενώ βασικά διατηρεί την αρχιτεκτονική της πρώτης έκδοσης, το 2.0 βελτιώθηκε σε:
  • Έλεγχος ταυτότητας και υπογραφές. Το OAuth 2.0 κατέστησε ευκολότερο για κάποιον από την πλευρά του πελάτη να εφαρμόσει το πρωτόκολλο.
  • Η εμπειρία των χρηστών και οι εναλλακτικοί τρόποι για την έκδοση μαρκών
  • Απόδοση, ειδικά με μεγαλύτερους ιστότοπους και υπηρεσίες
Μια πληρέστερη εξήγηση για το τι είναι καινούργιο με το OAuth 2.0 παρέχεται από τον Eran Hammer, ο οποίος ήταν μέλος της ομάδας εργασίας του OAuth. Μπορείτε να έχετε πρόσβαση εδώ. Ωστόσο, σημειώστε ότι ο Hammer εγκατέλειψε την ομάδα εργασίας τον Ιούλιο του 2012, αναφέροντας ζητήματα που αφορούν θέματα ασφάλειας κατά την εφαρμογή του προτύπου. Ως αποτέλεσμα, αν και έπρεπε να οριστικοποιηθεί το OAuth μέχρι τα τέλη του 2010, εξακολουθεί να αποτελεί προτεινόμενο πρότυπο (κατά το χρόνο σύνταξης), αν και αποτελεί μέρος του API Graph. Η Google και η Microsoft πειραματίζονται επίσης με την υποστήριξη OAuth 2.0 στα API τους.

Τα οφέλη από τη χρήση του OAuth 2.0

Ένας από τους καλύτερους λόγους για να χρησιμοποιήσετε το OAuth είναι ότι κάνει την ανταλλαγή τόσο ευκολότερη. Χρησιμοποιήθηκαν ήδη για τη μεταφόρτωση φωτογραφιών στο Instagram και τη μετάβασή τους αυτόματα σε και. Στην πραγματικότητα, αυτό το είδος της ευκολίας χρήσης και crossover που συνεχίζει να κάνει τα κοινωνικά μέσα τόσο ελκυστική.

Αλλά αυτό δεν είναι όλα. Για τους τελικούς χρήστες, το OAuth σημαίνει ότι δεν χρειάζεται να δημιουργήσετε άλλο προφίλ. Για παράδειγμα, εάν θέλετε να αφήσετε ένα σχόλιο σε ένα άρθρο, μπορείτε να χρησιμοποιήσετε τα διαπιστευτήριά σας για να το κάνετε, αντί να χρειάζεται να εγγραφείτε σε ένα λογαριασμό σε έναν συγκεκριμένο ιστότοπο. Αυτό είναι ιδανικό για ιστότοπους στους οποίους δεν είστε συνήθως ενεργοί, ή ότι δεν μπορείτε να εμπιστευτείτε. Μπορεί επίσης να ωφελήσει τους ιστότοπους, διασφαλίζοντας ότι οι χρήστες έχουν μια ταυτότητα, καθιστώντας το spam spam λιγότερο πιθανό.

Το OAuth σημαίνει επίσης λιγότερους κωδικούς πρόσβασης για να θυμάστε. Είναι μια βέλτιστη πρακτική να έχετε διαφορετικούς κωδικούς πρόσβασης για διαφορετικές υπηρεσίες ιστότοπου. Επομένως, αντί να απομνημονεύσετε έναν άλλο κωδικό πρόσβασης για το Pinterest, πρέπει να χρησιμοποιήσετε μόνο τον κωδικό πρόσβασής σας για να αποκτήσετε πρόσβαση στην υπηρεσία. Ο Pinterest, παρεμπιπτόντως, δεν βλέπει τον κωδικό πρόσβασής σας.

Μπορείτε επίσης να περιορίσετε τους πόρους που έχετε πρόσβαση μέσω του OAuth. Για παράδειγμα, όταν παίζετε ένα παιχνίδι, μπορείτε να καθορίσετε εάν θέλετε το παιχνίδι να τοποθετηθεί στον τοίχο σας για λογαριασμό σας ή όχι.

Για τον προγραμματιστή, το OAuth 2.0 παρέχει έναν ήδη αναπτυγμένο κώδικα για την εξακρίβωση της ταυτότητας, την εμφάνιση κοινωνικών αλληλεπιδράσεων και την εμφάνιση του προφίλ χρήστη. Αυτό σημαίνει λιγότερα σφάλματα για τους προγραμματιστές για να αντιμετωπίσει και χαμηλότερο κίνδυνο, επειδή το API έχει ήδη εντοπιστεί, δοκιμαστεί και αποδειχθεί. Τέλος, μπορείτε επίσης να επωφεληθείτε από την κατοχή λιγότερων δεδομένων για αποθήκευση στους δικούς σας διακομιστές.

Πώς έγινε το OAuth 2.0

Είναι προφανές ότι το OAuth είναι μια απάντηση στην πρόσκληση για ασφαλή υπολογιστική και ευκολία χρήσης για διαφορετικές υπηρεσίες Web. Το OAuth 2.0, από την άλλη πλευρά, προέκυψε από την ανάγκη να γίνει το OAuth λιγότερο περίπλοκο. Αλλά η όλη ιδέα και για τους δύο προέρχεται στην πραγματικότητα από το OpenID.

Το OpenID είναι μια υπηρεσία που επιτρέπει στους χρήστες να συνδεθούν σε διάφορες υπηρεσίες χρησιμοποιώντας τα διαπιστευτήρια σύνδεσης από έναν άλλο ιστότοπο. Αλλά το OpenID ήταν πολύ περιορισμένο, έτσι μια ομάδα ανθρώπων που εργάζονταν σε διαφορετικά πρωτόκολλα εξουσιοδότησης για τις δικές τους τοποθεσίες συγκεντρώνονταν. Οι πρώτες υλοποιήσεις του OAuth έγιναν το 2007 και η πρώτη αναθεώρηση ήρθε δύο χρόνια αργότερα.

Το OAuth 2.0 έφτασε στη σκηνή το 2010. Στόχος του ήταν να επικεντρωθεί στην απλότητα του πελάτη-προγραμματιστή και να είναι πιο εύκολα κλιμακωτή, βελτιώνοντας ταυτόχρονα την εμπειρία του χρήστη.

Προκλήσεις μπροστά;

Παρόλο που το Google, το Klout και άλλα μεγάλα ονόματα εφαρμόζουν το OAuth 2.0, ίσως εξακολουθεί να υπάρχει ένας βραχώδης δρόμος μπροστά από αυτό το πρωτόκολλο. Υπάρχουν κριτικές από την κοινότητα του OAuth 2.0, συμπεριλαμβανομένων ανησυχιών σχετικά με την ασφάλεια των πρωτοκόλλων (πολλοί πιστεύουν ότι είναι λιγότερο ασφαλής από το OAuth 1.0).

Σύμφωνα με το Hammer, αν χρησιμοποιηθεί από έναν ικανό προγραμματιστή, ο οποίος είναι πολύ εξοικειωμένος με την ασφάλεια στο Web, λειτουργεί το OAuth 2.0. Δυστυχώς, μόνο μια μικρή μειοψηφία προγραμματιστών ταιριάζει με αυτόν τον λογαριασμό.

Επιπλέον, οι κωδικοί OAuth 2.0 δεν είναι επαναχρησιμοποιήσιμοι. Για παράδειγμα, τα πρωτόκολλα OAuth 2.0 που χρησιμοποιούνται δεν θα μπορούσαν εύκολα να χρησιμοποιηθούν από άλλη τοποθεσία. Επιπλέον, το νέο πρωτόκολλο είναι στην πραγματικότητα πολύ πιο πολύπλοκο από το πρωτότυπο.

Αλλά το πραγματικό kicker για πολλούς ανθρώπους είναι ότι το OAuth 2.0 δεν φαίνεται να προσφέρει κανένα πραγματικό πλεονέκτημα ή βελτίωση σε σχέση με το 1.0. Το Hammer γράφει ότι εάν εφαρμόζετε επιτυχώς το 1.0, δεν υπάρχει κανένας λόγος για αναβάθμιση σε 2.0.

Ωστόσο, το OAuth 2.0 εξακολουθεί να είναι πολύ ζωντανό. Αν εξετάζει τις επικρίσεις και τα ζητήματα που τίθενται, μπορεί να βρει ακόμα ένα μέρος ως ένα πολύ ισχυρό πρωτόκολλο. Τη στιγμή της γραφής, ωστόσο, η έκδοση 1.0 εξακολουθεί να θεωρείται ως επίσημη, σταθερή και δοκιμασμένη έκδοση του OAuth. Ωστόσο, για προγραμματιστές που στοχεύουν να συνεργαστούν με μεγάλα ονόματα στον κόσμο του Διαδικτύου, η εφαρμογή αυτού του πρωτοκόλλου με ασφάλεια μπορεί να αποτελέσει καθοριστική δεξιότητα στο μη-πολύ απομακρυσμένο μέλλον.