Η περίπτωση χρήσης είναι η εξής: - Έχεις μια εφαρμογή για την οποία το identity management το κάνεις μέσω keycloak. Το keycloak instance είναι κομμάτι της εφαρμογής σου δηλαδή και διαχειρίζεται τους χρήστες σου (authentication, authorization, roles, capabilities). - Θέλεις να διασυνδέσεις την εφαρμογή σου αυτή με το TAXISnet OAuth Authentication Service ώστε να μπορούν οι χρήστες να κάνουν login στην εφαρμογή σου με τους κωδικούς του TAXISnet (SSO της εφαρμογής σου με το TAXISnet). Κάνεις αίτημα για την εφαρμογή σου στη ΓΓΠΣ και αφού την εγκρίνει σου δίνει clientId και clientSecret για την εφαρμογή σου. - Εγκαθιστάς το plugin στο keycloak, εισάγεις clientId και clientSecret για την εφαρμογή σου που σου έδωσε η ΓΓΠΣ, ρυθμίζεις attributes, roles κλπ και πλέον μπορεί κάποιος να κάνει login στην εφαρμογή σου μέσω TAXISnet. Παρατηρήσεις: 1. Αν το OAuth Service του TAXISnet υλοποιούσε το OpenId πρωτόκολλο (ουσιαστικά να επιστρέφει ένα json object που περιέχει τουλάχιστο κάποια standard keys ως user info και να μην κάνει reject το scope=openid στα request params) θα αρκούσε απλά να ρυθμίσεις ένα OpenId Identity Provider στο keycloak με τα credentialls που σου δώσανε. Όμως το OAuth Service του TAXISnet δεν μιλάει OpenId, αλλά στέλνει μόνο ένα xml με custom πεδία. Μάλιστα κάνει reject το openid scope. Αυτός είναι ο λόγος που αφιερώσαμε 2 ημέρες για να το υλοποιήσουμε. 2. Αντί του keycloak θα μπορούσες να είχες ένα σούπερ ντούπερ custom made user management σύστημα που έχεις φτιάξει για την εφαρμογή σου, είτε ενσωματωμένο σε έναν μονόλιθο, είτε ως αυτόνομο (micro)service, στην αγαπημένη σου γλώσσα/framework. Σε αυτή την περίπτωση θα χρειαζόταν να ενσωματώσεις και να κάνεις customize κάποια βιβλιοθήκη που υλοποιεί το OAuth2 πρωτόκολλο (ή ακόμα και μια δική σου custom υλοποίηση του πρωτοκόλλου) στο σύστημά σου ώστε να μπορούν να κάνουν login στην εφαρμογή σου μέσω TAXISnet. Απλά θα σου επαιρνε περισσότερο χρόνο και πιθανών η υλοποίηση σου να είχε κενά ασφαλείας και λειτουργικά προβλήματα που θα έπρεπε να λύσεις μόνος σου (ή να σπρώξεις κάτω από το χαλί). 3. Η ΓΓΠΣ αντέδρασε στη χρήση του όρου "υλοποίηση SSO με το TAXISnet" θεωρώντας ότι αυτό σημαίνει ότι θα περνάνε τα στοιχεία των χρηστών από το TAXISnet σε τρίτες εφαρμογές διαφορετικές από αυτή για την οποία έχει πάρει άδεια και credentials, χωρίς να υπάρχει ενημέρωση και συναίνεση του χρήστη. Αυτό το απαγορεύει φυσικά η άδεια χρήσης του service που παρέχει η ΓΓΠΣ. Μπορεί να γίνει όμως εύκολα με μια custom υλοποίηση που μπορεί να φτιάξει οποιοσδήποτε θελήσει να παραβιάσει την άδεια. Η χρήση του keycloak και η ευκολία που παρέχει το plugin δεν προτρέπει ούτε διευκολύνει κάποιον να παραβιάσει την άδεια. Υπάρχουν εξάλλου δεκάδες βιβλιοθήκες και συστήματα για oauth και identity brokering που θα μπορούσε να χρησιμοποιήσει κάποιος για αυτό το σκοπό. --- Konstantinos Togias M.Sc. in Mathematics of Computers and Decision Making Software & Web Applications Developer tel. (+30)6946977595 e-mail: info [ at ] ktogias [ dot ] gr www: http://ktogias.gr On Wed, Jun 30, 2021 at 6:51 PM Dimitris Andreadis < dimitris [ dot ] andreadis [ at ] gmail [ dot ] com> wrote: > Ωραία δουλειά :-) > > Δηλαδή θα μπορείς να χρησιμοποιείς το SSO του TAXIXnet για να κάνεις > login σε κάποια εγκεκριμένη από την ΓΓΠΣ εφαρμογή, ναι; > > Αν χρειαστείς κάτι από την ομάδα του Keycloak πες να σας συνδέσω. > > Χαιρετώ! > > /Δημήτρης > > -- > Dimitris Andreadis > Engineering Director > Cloud Native Runtimes > Quarkus Team, Red Hat > > On 30/06/2021 15:08, Konstantinos Togias wrote: > > Επειδή δέχθηκα σχετικό τηλεφώνημα από τη ΓΓΠΣ, να διευκρινίσω ότι όταν > > μιλάω για single sign-on με TAXISnet εννοώ SSO μεταξύ της εφαρμογής για > > την οποία κάποιος έχει ζητήσει και λάβει άδεια χρήσης των υπηρεσιών της > > ΓΓΠΣ και του TAXISnet. 'Οχι την υλοποίηση πρόσβασης τρίτων εφαρμογών > > διαφορετικών από αυτή για την οποία έχει δοθεί η πρόσβαση από τη ΓΓΠΣ, > > ενέργεια η οποία απαγορεύεται από την άδεια που δίνει η ΓΓΠΣ για τη > > χρήση της υπηρεσίας της και θα έχει οπως με ενημέρωσαν σαν συνέπεια την > > άρση της. > > > > --- > > Konstantinos Togias > > M.Sc. in Mathematics of Computers and Decision Making > > Software & Web Applications Developer > > > > tel. (+30)6946977595 > > e-mail: info [ at ] ktogias [ dot ] gr <mailto:info [ at ] ktogias [ dot ] gr> > > www: http://ktogias.gr <http://ktogias.gr> > > > > > > On Wed, Jun 30, 2021 at 12:07 PM Konstantinos Togias <info [ at ] ktogias [ dot ] gr > > <mailto:info [ at ] ktogias [ dot ] gr>> wrote: > > > > Αφήνω εδώ το σύνδεσμο για ένα Keycloak extension για identity > > brokering με τις OAuth 2 υπηρεσίες της Γ.Γ.Π.Σ.Δ.Δ. που > > κατασκευάσαμε στο ΙΤΥΕ Διόφαντος και τη Διεύθυνση ΠΣΔ. > > > > Ελπίζω να φανεί χρήσιμο σε όσους θέλουν να υλοποιήσουν single > > sign-on με TAXISnet. > > > > https://github.com/cti-nts/keycloak-gsis-providers > > < > https://github.com/cti-nts/keycloak-gsis-providers?fbclid=IwAR3omGwo_5j168pSfX5cDkv-lKQmFQkejvlOZPuwYAMYbTWDaH4msJ82VSo > > > > > > --- > > Konstantinos Togias > > M.Sc. in Mathematics of Computers and Decision Making > > Software & Web Applications Developer > > > > tel. (+30)6946977595 > > e-mail: info [ at ] ktogias [ dot ] gr <mailto:info [ at ] ktogias [ dot ] gr> > > www: http://ktogias.gr <http://ktogias.gr> > > > > > > > > ---- > > Λαμβάνετε αυτό το μήνυμα απο την λίστα: Γενική λίστα αλληλογραφίας που > απευθύνεται σε developers/contributors έργων ανοικτού λογισμικού - A > general discussion list for developers/contributors of open-source projects, > > https://lists.ellak.gr/opensource-developers/listinfo.html > > Μπορείτε να απεγγραφείτε από τη λίστα στέλνοντας κενό μήνυμα ηλ. > ταχυδρομείου στη διεύθυνση <opensource-developers+unsubscribe [ at ] ellak [ dot ] gr>. > > > ---- > Λαμβάνετε αυτό το μήνυμα απο την λίστα: Γενική λίστα αλληλογραφίας που > απευθύνεται σε developers/contributors έργων ανοικτού λογισμικού - A > general discussion list for developers/contributors of open-source projects, > https://lists.ellak.gr/opensource-developers/listinfo.html > Μπορείτε να απεγγραφείτε από τη λίστα στέλνοντας κενό μήνυμα ηλ. > ταχυδρομείου στη διεύθυνση <opensource-developers+unsubscribe [ at ] ellak [ dot ] gr>. >
---- Λαμβάνετε αυτό το μήνυμα απο την λίστα: Γενική λίστα αλληλογραφίας που απευθύνεται σε developers/contributors έργων ανοικτού λογισμικού - A general discussion list for developers/contributors of open-source projects, https://lists.ellak.gr/opensource-developers/listinfo.html Μπορείτε να απεγγραφείτε από τη λίστα στέλνοντας κενό μήνυμα ηλ. ταχυδρομείου στη διεύθυνση <opensource-developers+unsubscribe [ at ] ellak [ dot ] gr>.