ΕΕΛΛΑΚ - Λίστες Ταχυδρομείου

Re: Re: GSIS OAuth2 Keycloak Identity Providers Plug-in

  • Subject: Re: Re: GSIS OAuth2 Keycloak Identity Providers Plug-in
  • From: Konstantinos Togias <info [ at ] ktogias [ dot ] gr>
  • Date: Wed, 30 Jun 2021 19:43:50 +0300
Η περίπτωση χρήσης είναι η εξής:

- Έχεις μια εφαρμογή για την οποία το 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>.

πλοήγηση μηνυμάτων