Never heard of Apereo CAS? You can learn more about it here: https://github.com/apereo/cas
Video Introduction: https://youtu.be/0c-QbP4igzU
A common question for starter of CAS usually is something like this: "How can I use XXXXX
authentication, with an XXXXX
ticket registry cluster, and with XXXXX
protocol enabled?"
This shows that CAS while being incredibly powerful and well documented, it is definitely daunting for beginners. This project, Select Ur CAS is a project aims to tackle this issue.
Select Ur CAS is a project aims to provide a customizable full stack CAS example, so you can have a solid example to work on top of when you start building your own CAS server with just a few clicks.
Here's an architecture diagram to show the possibilty of Select Ur CAS:
Empowered by Docker, Select Ur CAS is very flexible in term of what can be mix and matched together.
Note that:
Need to install the following
gen-my-cas.html
using a Chrome browser (Firefox, Safari and other browser currently would not work)127.0.0.1 cas.example.org
into your host filegen-my-cas.html
page, they contains testing credential, initialize URL, documentation and other useful info
https://cas.example.org:8443/cas/login
8443
and 80
for Select Ur CAS projectThe keystore can be generated with this
keytool -genkeypair -alias cas -keyalg RSA -keypass changeit -storepass changeit -keystore /etc/cas/thekeystore -dname CN=cas.example.org,OU=Example,OU=Org,C=US -ext SAN=dns:cas.example.org,dns:localhost,ip:127.0.0.1 -validity 3600
The P12 keystore can be generated with this:
keytool -importkeystore -srckeystore /etc/cas/thekeystore -destkeystore /etc/cas/keystore.p12 -deststoretype PKCS12 -srcalias cas -srcstorepass changeit -deststorepass changeit -destkeypass changeit
The PEM public cert can be generated with this:
openssl pkcs12 -in /etc/cas/keystore.p12 -passin pass:changeit -nokeys -out /etc/cas/cas_public.crt
The PEM CA cert can be generated with this:
openssl pkcs12 -in /etc/cas/keystore.p12 -passin pass:changeit -cacerts -chain -nokeys -out /etc/cas/cas_ca_public.crt
The PEM private cert can be generated with this:
openssl pkcs12 -in /etc/cas/keystore.p12 -passin pass:changeit -nodes -nocerts -out /etc/cas/cas_private.pem
OpenLdap Authentication
Mysql Query Authentication
JSON Whitelist Authentication
MongoDB Authentication
Rest Authentication
Freeradius Authentication
Rest Attribute Storage
Json Attribute Storage
Mysql Attribute Storage
Java CAS client
Phpcas client
Modauthcas client
OAuth protocol + php client
Oidc protocol + php client
Passwordless Authentication by email
SAML 2 protocol + Simplesamlphp
MongoDB Ticket registry
Hazelcast Ticket registry
Redis Ticket registry
Json Service Storage