Ρύθμιση SSO με το PingOne¶
Το PingOne είναι συμβατό με OIDC. Δύο από τις τιμές του χρειάζονται προσοχή: το Environment ID, που εμφανίζεται σε κάθε URL endpoint, και ο περιφερειακός τομέας, που διαφέρει μεταξύ των tenants της Βόρειας Αμερικής, Ευρώπης, Καναδά, Ασίας-Ειρηνικού και Αυστραλίας.
Αυτός ο οδηγός καλύπτει την πλευρά του PingOne: τη δημιουργία της εφαρμογής και τη συλλογή των τιμών που χρειάζεται το digna. Η πλευρά του digna — dashboard_config.toml, δοκιμές και αντιμετώπιση προβλημάτων — είναι η ίδια για κάθε πάροχο και περιγράφεται στην Single Sign-On Overview.
Προτού Ξεκινήσετε¶
| Απαίτηση | Σημειώσεις |
|---|---|
| Ρόλος στο PingOne | Environment Admin ή Identity Data Admin στο στοχευόμενο περιβάλλον |
| Περιβάλλον | Το περιβάλλον PingOne στο οποίο ανήκουν οι χρήστες του digna |
| digna redirect URI | Το URL στο οποίο επιστρέφουν οι χρήστες μετά το login, π.χ. https://digna.yourdomain.com/oidc/callback |
Βήμα 1: Δημιουργία της Εφαρμογής¶
- Συνδεθείτε στο PingOne admin console και επιλέξτε το περιβάλλον σας
- Μεταβείτε σε Applications → Applications
- Κάντε κλικ στο πλήκτρο +
- Εισαγάγετε
dignaως Application Name - Επιλέξτε OIDC Web App
- Κλικ στο Save
Επιλέξτε OIDC Web App, όχι Single-Page App
Τα Single-Page App και Native App δημιουργούν public clients που δεν μπορούν να διατηρήσουν secret. Το digna ανταλλάσσει τον authorization code από το backend του και χρειάζεται τον εμπιστευτικό τύπο OIDC Web App.
Βήμα 2: Διαμόρφωση του Redirect URI¶
- Ανοίξτε την καρτέλα Configuration της εφαρμογής
- Κάντε κλικ στο εικονίδιο του μολυβιού για επεξεργασία
- Επιβεβαιώστε ότι το Response Type είναι Code και το Grant Type είναι Authorization Code
- Στην ενότητα Redirect URIs, εισάγετε το callback URL του digna:
- Ορίστε το Token Endpoint Authentication Method σε Client Secret Post ή Client Secret Basic
- Κλικ στο Save
Βήμα 3: Ενεργοποιήστε την Εφαρμογή¶
Στη σειρά ή στο πάνελ λεπτομερειών της εφαρμογής, μεταβείτε το toggle σε enabled.
Οι νέες εφαρμογές ξεκινούν απενεργοποιημένες
Το PingOne δημιουργεί τις εφαρμογές σε κατάσταση απενεργοποίησης. Μια απενεργοποιημένη εφαρμογή προκαλεί σφάλμα στο βήμα εξουσιοδότησης που δεν αναφέρει το toggle, οπότε αξίζει να το επιβεβαιώσετε πριν την περαιτέρω αντιμετώπιση προβλημάτων.
Βήμα 4: Χορήγηση των Scopes¶
- Ανοίξτε την καρτέλα Resources
- Επιβεβαιώστε ότι το
openidείναι χορηγημένο, και προσθέστε ταprofileκαιemailαπό το resource OpenID Connect - Κλικ στο Save
Βήμα 5: Ανάθεση Χρηστών¶
- Ανοίξτε την καρτέλα Access
- Προσθέστε το population ή τις ομάδες των μελών που μπορούν να χρησιμοποιήσουν το digna
- Κλικ στο Save
Βήμα 6: Συλλογή των Credentials και του Environment ID¶
Στην καρτέλα Configuration, αναπτύξτε την ενότητα General:
- Client ID → γίνεται
DIGNA_OIDC_CLIENT_ID - Client Secret → γίνεται
DIGNA_OIDC_CLIENT_SECRET(κάντε κλικ στο εικονίδιο του ματιού) - Environment ID → χρησιμοποιείται στο discovery URL
Η ίδια καρτέλα εμφανίζει το έτοιμο OIDC Discovery Endpoint, το οποίο μπορείτε να αντιγράψετε απευθείας αντί να το συναρμολογήσετε χειροκίνητα.
Βήμα 7: Δημιουργία του Discovery URL¶
Αντικαταστήστε το environment ID και τον τομέα για την περιοχή σας:
| Περιοχή | Τομέας |
|---|---|
| Βόρεια Αμερική | auth.pingone.com |
| Ευρώπη | auth.pingone.eu |
| Καναδάς | auth.pingone.ca |
| Ασία-Ειρηνικός | auth.pingone.asia |
| Αυστραλία | auth.pingone.com.au |
Για ένα ευρωπαϊκό περιβάλλον:
Αντιγράψτε το αντί να το πληκτρολογήσετε
Ο περιφερειακός τομέας είναι το πιο συνηθισμένο λάθος σε μια ενσωμάτωση PingOne, και μια λάθος περιοχή δίνει 404 αντί για ένα χρήσιμο μήνυμα. Χρησιμοποιήστε την τιμή OIDC Discovery Endpoint από το Βήμα 6.
Βήμα 8: Ρύθμιση του digna¶
dashboard/dashboard_config.toml¶
config.toml¶
[oidc.pingone]
DIGNA_OIDC_CLIENT_ID = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
DIGNA_OIDC_CLIENT_SECRET = "<the client secret copied in Step 6>"
DIGNA_OIDC_REDIRECT_URI = "https://digna.yourdomain.com/oidc/callback"
DIGNA_OIDC_CONFIGURATION_URL = "https://auth.pingone.eu/12345678-1234-1234-1234-123456789012/as/.well-known/openid-configuration"
Το key και στα δύο αρχεία πρέπει να ταιριάζει — pingone εδώ.
Βήμα 9: Δοκιμή¶
Επανεκκινήστε το backend και τον web server, στη συνέχεια ανοίξτε το dashboard. Δείτε την Testing Login για την πλήρη λίστα ελέγχου.
Αντιμετώπιση Προβλημάτων με το PingOne¶
404 στο Discovery URL¶
Ο περιφερειακός τομέας ή το Environment ID είναι λάθος. Συγκρίνετε με το OIDC Discovery Endpoint που εμφανίζεται στην καρτέλα Configuration της εφαρμογής.
NOT_FOUND ή Εφαρμογή Απενεργοποιημένη¶
Το toggle της εφαρμογής από το Βήμα 3 είναι ακόμα απενεργοποιημένο.
Redirect URI Mismatch¶
Το PingOne ταιριάζει ολόκληρο το string. Ελέγξτε Configuration → Redirect URIs για τυχόν τελικό slash ή διαφορά στο scheme.
Το Login Επιτυγχάνει αλλά δεν Φτάνει το Email Claim στο digna¶
Τα scopes email και profile δεν έχουν χορηγηθεί στην καρτέλα Resources.
Ο Χρήστης Δεν Βλέπει την Εφαρμογή¶
Καμία πληθυσμιακή ομάδα ή ομάδα δεν έχει λάβει πρόσβαση στην καρτέλα Access.
Δείτε επίσης¶
- Single Sign-On Overview — αναφορά ρυθμίσεων, δοκιμών και γενικής αντιμετώπισης προβλημάτων
- PingOne: Διαμόρφωση εφαρμογής OIDC