Yasso είναι ένα σύστημα για την οικοδόμηση ενός web-based Single Sign-on υπηρεσία χρησιμοποιώντας OAuth2 & nbsp?. Προορίζεται να είναι συμβατό με το σχέδιο 25 των προδιαγραφών OAuth2.
Ξεκινώντας
Μία διαμόρφωση demo περιλαμβάνεται για να σας βοηθήσει να ξεκινήσετε. Εγκαταστήστε και εκτελέστε τη διαμόρφωση demo σαν αυτό:
& Nbsp? Git κλώνος GIT: //github.com/hathawsh/yasso.git
& Nbsp? Cd Yasso
& Nbsp? Virtualenv --no χώρο-πακέτα.
& Nbsp? Bin / PIP εγκατάσταση -U zc.buildout
& Nbsp? Bin / buildout
& Nbsp? Bin / pserve demo.ini
Το demo Yasso συνέχεια ο διακομιστής θα είναι διαθέσιμο στη διεύθυνση http: // localhost: 8510 /. Μπορείτε να περιηγηθείτε σε αυτό, αλλά δεν θα δείτε πολλά ακόμη.
Σε ένα άλλο κέλυφος, εγκαταστήσετε και να εκτελέσετε τον πελάτη oauth2sample:
& Nbsp? Git κλώνος GIT: //github.com/hathawsh/oauth2sample.git
& Nbsp? Cd oauth2sample
virtualenv --no χώρο-πακέτα.
& Nbsp? Bin / PIP εγκατάσταση -U zc.buildout
& Nbsp? Bin / buildout
& Nbsp? Bin / pserve Yasso-demo.ini
Ο πελάτης δείγμα τότε θα είναι διαθέσιμο στη διεύθυνση http: // localhost: 8511 /. Περιηγηθείτε εκεί. Θα μεταφερθείτε στην Yasso επιτρέπουν τελικό σημείο και Yasso θα σας ζητήσει να συνδεθείτε χρησιμοποιώντας HTTP βασικό έλεγχο ταυτότητας. Συνδεθείτε με το sample1 το όνομα χρήστη, τον κωδικό πρόσβασης τον κωδικό πρόσβασης. Τέλος, μπορείτε να μεταφερθείτε πίσω στον πελάτη του δείγματος OAuth2 και θα συνδεθεί ως sample1. Τέλος της επίδειξης.
Υποθέτοντας ότι όλα λειτουργούσαν, ότι η διαδήλωση ήταν μικρή και ήσυχη, το οποίο είναι το πώς θα πρέπει να είναι: single sign-on θα πρέπει να είναι ως επί το πλείστον αόρατο για τους χρήστες.
HTTP βασικό έλεγχο ταυτότητας είναι ίσως το πρώτο πράγμα που θα θέλετε να αντικαταστήσετε. Για να το αλλάξετε, να δημιουργήσετε ένα repoze.who κατάλληλη διαμόρφωση για τον οργανισμό σας και να χρησιμοποιήσετε το δικό σας αρχείο ρυθμίσεων Πυραμίδα (αντί του demo.ini) ότι τα σημεία στο αρχείο ρυθμίσεων repoze.who σας.
Δομή
Yasso αποτελείται από τρεις διακριτές εφαρμογές Πυραμίδα. Καθένα από αυτά έχει διαφορετικές πολιτικές ασφαλείας και τις απόψεις, αλλά όλοι χρησιμοποιούν το ίδιο μοντέλο αντικειμένων.
- Η εφαρμογή, επιτρέπουν να είναι ορατή στους τελικούς χρήστες. Όταν ένας χρήστης επιθυμεί να συνδεθεί σε μια ιστοσελίδα, ο πελάτης ανακατευθύνει το πρόγραμμα περιήγησης του χρήστη στο Yasso επιτρέπουν τελικό σημείο (το οποίο είναι μέρος της αίτησης, επιτρέπουν) να αφήσει το αρχείο καταγραφής χρήστη. Μόλις ο χρήστης συνδεθεί, Yasso ανακατευθύνει το πρόγραμμα περιήγησης πίσω στην ιστοσελίδα του πελάτη με OAuth2 παραμέτρους? Η ιστοσελίδα καλεί το διακριτικό τελικό σημείο για να τελειώσει άδεια.
- Το διακριτικό εφαρμογή, η οποία παρέχει το διακριτικό τελικό σημείο, δεν προορίζεται να είναι ορατή στους χρήστες. Μόλις ένας χρήστης έχει ταυτοποιηθεί σε Yasso, web sites των πελατών καλέστε το διακριτικό τελικό σημείο άμεσα (χρησιμοποιώντας μια κλήση REST) για να δημιουργήσετε ένα διακριτικό πρόσβασης. Ένα διακριτικό πρόσβασης αφήνει ο πελάτης χρησιμοποιεί την εφαρμογή των πόρων.
- Η εφαρμογή των πόρων επίσης δεν προορίζονται να είναι ορατή στους χρήστες. Ζητεί την εφαρμογή των πόρων απαιτούν ένα έγκυρο διακριτικό πρόσβασης στις παραμέτρους POST ή κεφαλίδες HTTP. Η προεπιλεγμένη εφαρμογή των πόρων επιτρέπει μόνο την ιστοσελίδα του πελάτη να πάρει την ταυτότητα του χρήστη, αλλά μπορείτε να δημιουργήσετε τις δικές σας απόψεις που επιτρέπουν στους πελάτες να κάνουν άλλα πράγματα για λογαριασμό του χρήστη.
Yasso περιλαμβάνει WSGI σύνθετη εφαρμογή που συνδυάζει και τις τρεις αιτήσεις μαζί. Η σύνθετη εφαρμογή χάρτες διαδρομών URL που ξεκινούν με / πόρων για την εφαρμογή των πόρων, μονοπάτια URL που ξεκινούν με / token για το αδειοδοτικό της εφαρμογής, καθώς και όλες τις άλλες διευθύνσεις URL για την εφαρμογή εξουσιοδότησής του.
Απαιτήσεις :
- Python
Τα σχόλια δεν βρέθηκε