IdP & ldap attributes with language subtypes

Το πρόβλημα: Η επικοινωνία του IdP με τον SP, για την ανταλλαγή attributes, γίνεται με την χρήση O.I.D. Κάθε attribute που ανταλλάσσεται έχει συγκεκριμένο O.I.D. σύμφωνα με τα ldap σχήματα. Το πρόβλημα που προκύπτει με τα language subtypes είναι ότι έχουν το ίδιο O.I.D. με το head attribute και συνεπώς δεν υπάρχει τρόπος να επικοινωνηθεί στον SP ποιες τιμές αντιστοιχούν σε ποια subtypes. Για παράδειγμα τα cn, cn;lang-el, cn;lang-en έχουν όλα το ίδιο O.I.D. (2.5.4.3)

Η λύση: Προκειμένου να μπορέσει να επικοινωνήσει ο IdP στον SP τις αντίστοιχες τιμές των language subtypes, προτείνεται να δημιουργηθούν custom O.I.D που να περιγράφουν τα αντίστοιχα subtypes. Οι SPs της ομοσπονδίας θα μπορούν να γνωρίζουν τα extra attributes και συνεπώς να έχουν πρόσβαση και στις κατάλληλες τιμές. Όσοι Sps δεν γνωρίζουν τα extra attributes, θα λαμβάνουν το O.I.D. που λάμβαναν μέχρι τώρα.

Στους ιδρυματικούς καταλόγους είναι δυνατόν να υπάρχει κάποια συγκεκριμένη πολιτική σχετικά με τα language subtypes ή όχι.

  • Σε κάποια ιδρύματα το cn είναι στα ελληνικά και υπάρχει το αντίστοιχο cn;lang-en για την απόδοσή του με λατινικούς χαρακτήρες ενώ σε κάποια άλλα το cn είναι με λατινικούς χαρακτήρες και υπάρχει το αντίστοιχο cn;lang-el για την απόδοσή του στα ελληνικά. Οι παραπάνω περιπτώσεις, λογίζονται ως περιπτώσεις ύπαρξης πολιτικής language subtypes.
  • Επίσης υπάρχουν ιδρύματα στα οποία όλες οι τιμές (ελληνικοί και λατινικοί χαρακτήρες) υπάρχουν μόνο στο cn. Αυτές οι περιπτώσεις λογίζονται ως περιπτώσεις μη ύπαρξης πολιτικής language subtypes.

Πολιτική σε επίπεδο VD.

Για να μπορέσει να τεθεί η παραπάνω λύση σε εφαρμογή, αλλά και για να υπάρξει ομογενοποίηση στα πλαίσια της ομοσπονδίας, θα πρέπει στο επίπεδο του VD να γίνουν τα παρακάτω:

  1. Να δημιουργηθεί το attribute cn;lang-el και το αντίστοιχο mapping με τα backend συστήματα που θα περιέχει τις τιμές του cn με ελληνικούς χαρακτήρες.
  2. Να δημιουργηθεί το attribute cn;lang-en, και το αντίστοιχο mapping με τα backend συστήματα που θα περιέχει τις τιμές του cn με λατινικούς χαρακτήρες.
  3. Ανάλογα με το αν υπάρχει στα backend συστήματα πολιτική για language subtypes έχουμε τις παρακάτω περιπτώσεις:
    1. Αν υπάρχει, τότε
      • το attribute cn θα γίνεται mapped στο cn;lang-el.
      • Αν το cn;lang-el δεν έχει τιμή, τότε και το cn δε θα έχει τιμή.
    2. Αν δεν υπάρχει τότε το attribute cn θα γίνεται mapped στο backend cn και τα cn;lang-el, cn;lang-en δε θα έχουν τιμή.

Πολιτική σε επίπεδο IdP.

Στον IdP θα πρέπει να γίνουν τα παρακάτω:

  • Δημιουργία και απελευθέρωση των καινούργιων attributes με τα κατάλληλα O.I.D. και το αντίστοιχο mapping με τις τιμές του VD.
  • Το head attribute cn θα περιέχει το σύνολο των διαφορετικών τιμών που θα έρχονται από τα attributes cn;lang-el, cn;lang-en και cn του VD.
  • Σε περίπτωση που κάποιες υπηρεσίες δεν θέλουν/μπορούν να χρησιμοποιήσουν τα extra attributes και ταυτόχρονα κάνουν αντίστοιχο αίτημα, θα μπορούν να λαμβάνουν cn που να περιέχει μόνο τις τιμές του cn;lang-el ή μόνο τις τιμές του cn;lang-en (εφόσον ισχύει το 3a)