Το προφίλ μας στο Google Plus
0

OpenID: Κάντο μόνος σου!

Από το 2005, όταν το πρότυπο διαμοιρασμού ταυτότητας OpenID πρωτοεμφανίστηκε στο διαδίκτυο, πολλά έχουν αλλάξει. Η αποδοχή του από δημοφιλείς ιστοτόπους έχει αυξηθεί σημαντικά και συνεχώς αυξάνεται με οργανισμούς όπως την Microsoft, την Google και την Yahoo! να δρουν σαν πάροχοι των ψηφιακών ταυτοτήτων. Και επειδή σε εμάς αρέσουν οι ανοικτές και υποσχόμενες νέες τεχνολογίες αλλά δεν μας αρέσει να εξαρτόμαστε από υπηρεσίες τρίτων (ειδικά όταν αυτό δεν είναι αναγκαίο), θα δημιουργήσουμε και θα «σερβίρουμε» την ψηφιακή μας ταυτότητα μόνοι μας…

Το λογότυπο του OpenID. Η εμφάνισή του σε έναν ιστοτόπο αποτελεί ένδειξη υποστήριξης του συγκεκριμένου πρότυπου.Το OpenID είναι ένα ανοικτό πρότυπο που περιγράφει τον τρόπο με τον οποίο χρήστες του διαδικτύου μπορούν να επισκέπτονται ιστοτόπους και να χρησιμοποιούν υπηρεσίες που υπό κανονικές συνθήκες θα απαιτούσαν δημιουργία λογαριασμού χρήστη, χωρίς την απαίτηση αυτή. Βλέπετε, οι ιστοτόποι που απαιτούν την δημιουργία λογαριασμού χρήστη από τους επισκέπτες (διαδικασίες Sign Up και Log In) γίνονται ολοένα και περισσότεροι. Σκεφθείτε πόσους διαφορετικούς λογαριασμούς διατηρείτε, σε πόσες υπηρεσίες (email, social networking, blogging, forums κλπ) και πόσα διαφορετικά passwords πρέπει να κρατάτε στην μνήμη σας. Σκεφθείτε πόσες φορές κάποιος ιστοτόπος σας έχει ζητήσει να εισάγετε το όνομά σας ή το email σας ή την ημερομηνία γέννησής σας. Το φιλόδοξο σχέδιο του OpenID είναι η ανατροπή αυτής της κατάστασης. Όταν, θεωρητικά, όλοι οι ιστοτόποι θα υποστηρίζουν πιστοποίηση στοιχείων μέσω OpenID, το μόνο που θα χρειάζεται να χρησιμοποιείτε είναι το OpenID αναγνωριστικό σας.

Πώς λειτουργεί το OpenID

Αρχικά ο χρήστης πρέπει να δημιουργήσει μια ψηφιακή ταυτότητα σε κάποιο πάροχο OpenID (Επισκεφτείτε το openid.net για μια λίστα παρόχων OpenID, αν και αυτό δεν είναι απαραίτητο εφόσον ακολουθήσετε αυτή την συμβουλή). Αυτό σημαίνει ότι πρέπει να δηλώσει τα προσωπικά του στοιχεία στον πάροχο με την δημιουργία σε αυτόν ενός προσωπικού λογαριασμού προστατευόμενου με κωδικό. Ο πάροχος με την σειρά του θα δώσει στον χρήστη ένα URL το οποίο ονομάζεται αναγνωριστικό OpenID (π.χ. yourname.provider.com).
Ας υποθέσουμε τώρα ότι ο χρήστης επισκέπτεται για πρώτη φορά κάποιον ιστοτόπο, όπως π.χ. ένα forum, το οποίο απαιτεί από αυτόν τα προσωπικά του στοιχεία πριν του επιτρέψει να λάβει μέρος σε μια συζήτηση. Εφόσον ο ιστοτόπος αυτός υποστηρίζει το πρότυπο OpenID, θα παρέχει μια φόρμα ενός μοναδικού πεδίου ώστε ο επισκέπτης να εισάγει το OpenID αναγνωριστικό του. Ο ιστοτόπος θα επικοινωνήσει με τον πάροχο της ταυτότητας  χρησιμοποιώντας το URL του αναγνωριστικού και ανακατευθύνοντας την διαδικασία “Log In” μέσω αυτού στον browser του επισκέπτη. Αν το cookie του παρόχου υπάρχει στον browser του επισκέπτη από διαδικασία που προηγήθηκε τότε θα γίνει αυτόματα authentication μεταξύ επισκέπτη και παρόχου ενώ διαφορετικά ο πάροχος θα ζητήσει password. Στο σημείο αυτό ο πάροχος μπορεί να είναι σίγουρος πλέον ότι ο συγκεκριμένος χρήστης επιθυμεί να δώσει τα προσωπικά του στοιχεία στον ιστοτόπο που τα ζητάει. Έτσι, ανακατευθύνει τον browser του επισκέπτη στον αρχικό ιστοτόπο παρέχοντας ταυτόχρονα με αυτοματοποιημένο τρόπο τα στοιχεία του χρήστη. Η όλη διαδικασία είναι συνοπτική και ο χρήστης σπάνια συνειδητοποιεί τις ανακατευθύνσεις από τον ιστοτόπο που επισκεύθηκε στον πάροχο και ανάποδα (στις σύγχρονες μάλιστα υλοποιήσεις, η σελίδα του παρόχου ανοίγει μέσα στην σελίδα του αρχικού ιστοτόπου ώστε η όλη διαδικασία να γίνει διάφανα ως προς τον επισκέπτη). Ο αρχικός ιστοτόπος τον οποίο επισκέφθηκε ο χρήστης έχει πλέον στην διάθεσή του τα στοιχεία του επισκέπτη και έτσι ο τελευταίος μπορεί να περιηγηθεί με τα ανάλογα δικαιώματα στον ιστοτόπο.

Δημοτικότητα

Η φόρμα εισαγωγής σχολίων στον Blogger και οι φόρμες εισόδου σε SourceForge και WikiSpaces. Τρία παραδείγματα υποστήριξης του OpenID σε δημοφιλείς ιστοτόπους.Οι ιστοτόποι που δέχονται εγγραφή και σύνδεση μέσω OpenID αποτελούν προς το παρόν ένα μικρό κλάσμα του διαδικτύου αλλά η πρόσφατη εμπλοκή των Google, IBM, Microsoft, Verisign και Yahoo! στο OpenID Foundation τον φετινό Φλεβάρη δείχνει πως αυτό θα αλλάξει πολύ σύντομα. Μάλιστα πολλοί διάσημοι ιστοτόποι λειτουργούν πλέον σαν OpenID πάροχοι. Συγκεκριμένα, αν έχετε λογαριασμό σε κάποιον από τους AOL, Blogger, Flickr, LiveJournal, Technorati, Yahoo! ή WordPress.com, έχετε ήδη και το δικό σας OpenID αναγνωριστικό (βλ. http://openid.net/get/. Αυτό βέβαια δεν σημαίνει ότι όλοι οι παραπάνω ιστοτόποι δέχονται εγγραφή ή σύνδεση μέσω OpenID. Όχι τουλάχιστον ακόμα.
Στην Ελλάδα μερικές από τις σελίδες που υποστηρίζουν εγγραφή και σύνδεση μέσω OpenID είναι το http://www.ubuntu-gr.org/ και το http://critics.gr.

phpMyID

To phpMyID του CJ Niemira είναι μια δωρεάν και ανοικτή web εφαρμογή PHP που αναλαμβάνει να παίξει τον ρόλο του παρόχου OpenID για εσάς. Με αυτόν τον τρόπο έχετε τον πλήρη έλεγχο της ταυτότητάς σας και κατ’ επέκταση των στοιχείων που δίνετε στους διάφορους ιστοτόπους. Επιπλέον, απαλλάσσεστε από την ανάγκη να εμπιστεύεστε υπηρεσίες τρίτων για την φύλαξη των στοιχείων σας. Άλλωστε η εγκατάσταση του phpMyID είναι απλή και, εφόσον έχετε πρόσβαση σε κάποιον web server, είναι υπόθεση επεξεργασίας μερικών μόλις γραμμών σε ένα αρχείο ρυθμίσεων.

Προαπαιτούμενα

Εφόσον πρόκειται για web εφαρμογή PHP, για την χρήση της θα πρέπει να διαθέτετε κάποιο web hosting service (με υποστήριξη PHP και προτιμότερα με δικό σας domain name). Κάποιοι από εσάς που έχετε ήδη κάποια σελίδα στο διαδίκτυο μπορείτε να χρησιμοποιήσετε το υπάρχον hosting service.  Αν πάλι δεν έχετε και επειδή είναι παράλογο να αγοράσετε ένα hosting plan αποκλειστικά για να έχετε τον προσωπικό σας OpenID πάροχο, μπορείτε να χρησιμοποιήσετε κάποιο από αυτά που προσφέρονται δωρεάν. Ούτως ή άλλως, οι απαιτήσεις που έχει το phpMyID σε χώρο και διακίνηση δεδομένων είναι από ελάχιστες ως μηδαμινές. Τέλος, αν το επιθυμείτε, μπορείτε να στήσετε ένα web server με υποστήριξη PHP στον υπολογιστή σας (όπως τον Apache) και να εγκαταστήσετε το phpMyID εκεί. Ωστόσο αυτή η λύση προϋποθέτει ότι ο υπολογιστής σας θα είναι online στο διαδίκτυο επί μονίμου βάσεως και ότι μια υπηρεσία DDNS παρέχει domain name στην δυναμικά εναλλασσόμενη IP διεύθυνση σας. Διαφορετικά μπορεί να βρεθείτε προ εκπλήξεων όταν προσπαθήσετε να επισκεφτείτε έναν ιστοτόπο με πιστοποίηση OpenID από κάποιον άλλο υπολογιστή και ο ιστοτόπος δεν βρίσκει τον πάροχο της ταυτότητάς σας επειδή ο υπολογιστής σας είναι σβηστός, εκτός δικτύου ή έχει αλλάξει η IP του.  

Εγκατάσταση

Η πρώτη επίσκεψη στον προσωπικό μας OpenID πάροχο, το phpMyAdmin. Το URL στην μπάρα διεύθυνσης του browser αποτελεί το OpenID αναγνωριστικό μας.Κατεβάστε την τελευταία έκδοση του phpMyID (που είναι η 0.8 όταν γράφονται αυτές οι γραμμές) από την επίσημη σελίδα του. Από το συμπιεσμένο αρχείο που θα κατεβάσετε χρειάζεστε μόνο τα δύο αρχεία με κατάληξη .php, το MyID.php και το MyID.config.php. Αφού τα αποσυμπιέσετε, μετονομάστε το δεύτερο σε index.php. Χρησιμοποιώντας κάποιο πρόγραμμα FTP ή με όποιον άλλο τρόπο υποστηρίζει ο web host σας, συνδεθείτε με αυτόν και μέσα στον κατάλογο που κοινοποιεί ο web server (συνήθως htdocs, httpdocs ή public_html) δημιουργήστε έναν υποκατάλογο με όνομα της επιλογής σας (χρησιμοποιήστε το nickname σας). Στην συνέχεια ανεβάστε τα δύο php αρχεία στον υποκατάλογο που δημιουργήσατε. Υποθέτοντας ότι το domain name που «δείχνει» στον server σας είναι www.yourdomain.gr και ότι ως nickname επιλέξατε το yournick, επισκευθείτε μέσα από τον browser σας τo URL http://www.yourdomain.gr/yournick. Σημειώστε ότι το URL αυτό αποτελεί και το OpenID αναγνωριστικό σας. Αν έχετε εκτελέσει σωστά όλα τα βήματα ως εδώ, θα εμφανιστεί μια σελίδα με το μήνυμα «This is an OpenID server endpoint» και θα σας εμφανίσει ένα αλφαριθμητικό με όνομα “Realm”. Το πιο πιθανό είναι ότι το Realm σας θα έχει την τιμή «phpMyID». Διαφορετικά (αν η PHP εκτελείται στον server σε safe-mode) το Realm σας θα έχει ως τιμή το αλφαριθμητικό «phpMyID» ακολουθούμενο από έναν αριθμό. Όπως και να ‘χει σημειώστε αυτήν την τιμή.
Σε αυτό το σημείο πρέπει να επιλέξετε ένα username και ένα password, τα οποία θα χρησιμοποιείτε ορισμένες φορές όταν θα χρειάζεται να κάνετε Log In στον OpenID πάροχο (στο phpMyID). Αφού τα επιλέξετε, πρέπει να τα φτιάξετε με αυτά και το Realm σας (το οποίο σημειώσατε νωρίτερα) ένα αλφαριθμητικό στη μορφή username:realm:password και να το κωδικοποιήσετε με την μέθοδο MD5. Αν δουλεύετε σε Linux ή σε MacOSX αυτό μπορείτε να το επιτύχετε ανοίγοντας μια κονσόλα και δίνοντας την εντολή:

echo –n 'username:realm:password' | openssl md5

Αν δουλεύετε σε Windows, τα οποία δεν διαθέτουν κάποιο εργαλείο για κωδικοποίηση MD5, μπορείτε να κατεβάσετε ένα από την σελίδα του phpMyID. Μέσα από μια κονσόλα, πλοηγηθείτε στον κατάλογο στον οποίο αποθηκεύσατε το utility και δώστε την εντολή:

md5 -d"username:realm:password"

Δημιουργία του κατά MD5 κωδικοποιημένου αλφαριθμητικού σε κονσόλα των Windows.Όποιο και να είναι το λειτουργικό σας, η εντολή που δώσατε θα έχει ως αποτέλεσμα την δημιουργία ενός νέου κωδικοποιημένου αλφαριθμητικού (σαν αυτό: 61670D3459450255D2676BA0DAFB5C24). Χρησιμοποιήστε έναν editor για να επεξεργαστείτε το τοπικό αντίγραφο του αρχείου index.php (το μετονομασμένο MyID.config.php). Μέσα στο αρχείο θα βρείτε τις γραμμές:

'auth_username' =>	'test',
'auth_password' =>	'37fa04faebe5249023ed1f6cc867329b',

Αντικαταστήστε τις ώστε να περιέχουν τις δικές σας παραμέτρους:

'auth_username' =>	'το_δικό_σας_username',
'auth_password' =>	'το_δικό_σας_κωδικοποιημένο_αλφαριθμητικό',

To index.php μετά την απαραίτητη επεξεργασία. Παρατηρήστε πως αφήνοντας τον χαρακτήρα # στην γραμμή 55 αποφεύγουμε να δηλώσουμε τον ταχυδρομικό μας κώδικα.Παρακάτω στο ίδιο αρχείο, στις γραμμές 50-58, θα βρείτε και άλλες μεταβλητές στις οποίες μπορείτε να δώσετε τιμή. Ανάλογα με τα στοιχεία που θέλετε να διαβιβάζει το phpMyID ως πάροχος της ταυτότητάς σας στους διάφορους ιστοτόπους στους οποίους εισέρχεστε με πιστοποίηση OpenID, αφαιρέστε το σύμβολο σχολίου # μπροστά από την μεταβλητή και συμπληρώστε τις επιθυμητές τιμές μέσα στα εισαγωγικά. Αν για παράδειγμα επιθυμείτε την διαβίβαση του email σας στους ιστοτόπους αυτούς (πράγμα που σας προτείνουμε αν θέλετε η ταυτότητά σας να γίνεται αποδεκτή από την πλειονότητα των ιστοτόπων) αφαιρέστε το # της γραμμής 51 και αντικαταστήστε το joe@example.com με το email σας.
Όταν τελειώσετε με την επεξεργασία τοπικά του index.php ανεβάστε το στον server ώστε να αντικαταστήσει το πρωτότυπο index.php που ανεβάσατε νωρίτερα. Στον browser σας επισκεφτείτε το URL που αποτελεί το OpenID αναγνωριστικό σας άλλη μια φορά. Αυτή την φορά κάντε κλικ στον σύνδεσμο “Login” που εμφανίζεται στην σελίδα. Εισάγετε το username και το password που επιλέξατε νωρίτερα. Αν όλα έγιναν σωστά, θα εμφανιστεί ένα μήνυμα που θα σας ενημερώνει ότι έχετε συνδεθεί με το συγκεκριμένο username. Η εγκατάσταση τελείωσε και το είστε πλέον σε θέση να εγγράφεστε και να περιηγείστε σε ιστοτόπους με την βοήθεια του OpenID αναγνωριστικού σας!

Χρήση

Η κλασική φόρμα εισόδου στο ubuntu-gr.org (αριστερά) και η αντίστοιχη OpenID (δεξιά). Όπως βλέπετε, με το OpenID, η ανάγκη να αποστηθίζετε συνθηματικά εξαλείφεται. Η χρήση της νέας σας ψηφιακής ταυτότητας είναι πολύ απλή. Αυτός άλλωστε ήταν και ο σκοπός. Για να την δοκιμάσετε επισκεφθείτε για παράδειγμα το http://www.ubuntu-gr.org/ που αναφέραμε νωρίτερα. Θα παρατηρήσετε κάτω από την γνώριμη φόρμα εισόδου ένα σύνδεσμο με τίτλο «Login using OpenID». Αφού κάνετε κλικ εκεί η φόρμα εισόδου θα αλλάξει και αντί του username και password θα σας ζητάει ένα και μοναδικό πράγμα: το OpenID αναγνωριστικό σας. Εισάγετε το αναγνωριστικό σας όπως ακριβώς το δημιουργήσατε προηγουμένως και πατήστε «Είσοδος». Χωρίς καμία άλλη ερώτηση (σε περίπτωση που το cookie που δημιουργήθηκε στον browser σας κατά την διαδικασία Login που κάνατε νωρίτερα στο phpMyID διαγράφηκε, τα στοιχεία username και password θα σας ζητηθούν – αυτό είναι το μοναδικό ζεύγος username/password που πρέπει να θυμάστε πλέον) και χωρίς βαρετές διαδικασίες εισαγωγής στοιχείων, πραγματοποιείτε άμεσα εγγραφή και είσοδο στον ιστοτόπο! Πρακτικό; Η μόνη απορία μας είναι πώς κάποιος δεν το σκέφτηκε νωρίτερα…

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων