Skip to content
This repository has been archived by the owner on Aug 8, 2021. It is now read-only.
/ cas Public archive

A tailor-made implementation of the CAS 2.0 protocol, that enables team members to access all of poiw's projects and services with a single account and password.

License

Unlicense, MIT licenses found

Licenses found

Unlicense
LICENSE
MIT
LICENSE.md
Notifications You must be signed in to change notification settings

poiw-org/cas

Repository files navigation

po/iw cas

Τι είναι;

Επειδή πολλές φορές, τα προγράμματα που κάνουμε απαιτούν κάποια είδους αυθεντικοποίηση, γράψαμε μια υλοποίηση του πρωτοκόλλου CAS 2.0 (όχι ολόκληρου. Υλοποιούμε κατα καιρούς επιπλέον μέρη του πρωτόκολλου όταν το απαιτούν τα πρότζεκτ μας) για δική μας διευκόλυνση.

Με λίγα λόγια: Ένας λογαριασμός, ένα login UI, λιγότερος προγραμματισμός και χειρισμός διαπιστευτηρίων για τα project της ομάδας.

CAS Specifications

Επειδή δεν θέλουμε να περιορίσουμε την χρήση του cas μόνο στα project μας, ενώ παράλληλα η χειροκίνητη επαλήθευση όλων των services είναι κουραστική και χρονοβόρα για εμάς, κάναμε το CAS να μην ελέγχει την εγκυρότητα του service URL. Αυτό όμως δεν σημαίνει ότι δεν χρειάζεται!

Endpoints:

--- CAS

/api/cas #Root CAS URL
/api/cas/serviceValidate #Χρησιμοποιείται από τις υπηρεσίες (sevices) στο τελευταίο βήμα του CAS flow για να επιβεβαιώσουν τον χρήστη και να αντλήσουν περισσότερες πληροφορίες (name, email, phone, school)

---HTTP API (Χρησιμοποιoύνται κυρίως από το UI.)

/api #Root API URL
/api/login #Παίρνει υποχρεωτικά το email και μετά είτε κωδικό πρόσβασης είτε κάποιο άλλο OAuth credential.
/api/register #Εγγραφή χρήστη στο CAS
/api/emailExists #Επιστρέφει αν το email υπάρχει στη βάση δεδομένων του po/iw, μαζί με εναλλακτικές μεθόδους πιστοποίησης.
/api/activateAccount #Χρησιμοποιείται για την ενεργοποίηση των λογαριασμών έπειτα απο εγγραφή νέου χρήστη.

Πως το τρέχω;

Το project είναι γραμμένο σε Next.js (React Framework) και συνδέεται σε MongoDB με ενα environment variable MONGODB_URL. Αφού κάνεις git clone και αφού αποκτήσεις πρόσβαση σε κάποια db (δική σου ή της ομάδας), τρέξε:

yarn install #για να εγκαταστήσεις τα dependancies.
yarn dev #για να τρέξεις το πρόγραμμα σε development mode

About

A tailor-made implementation of the CAS 2.0 protocol, that enables team members to access all of poiw's projects and services with a single account and password.

Topics

Resources

License

Unlicense, MIT licenses found

Licenses found

Unlicense
LICENSE
MIT
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published