Single sign-on (SSO) is an authentication scheme that allows a user to log in with a single ID and password to any of several related, yet independent, software systems.
If a user visits an consumer
or user module
-protected service (foo.sso.example.com
) and does not have a session cookie, they are redirected to sso-auth
(sso-auth.example.com
).
- If the user does not have a session cookie for
sso-auth
, they are prompted to log in via thesso-auth
, and then redirected back toconsumer
oruser module
(according to their user role) where they will now be logged in (tofoo.sso.example.com
) - If the user does have a session cookie for
sso-auth
(e.g. they have already logged intobar.sso.example.com
), they are transparently redirected back toconsumer
where they will be logged in, without needing to go through thesso-auth
- MySQL
- Node.js Restful API
- Log4js
- React
- Mocha.js & Chai.js
git clone repo clone Alotech-Bootcamp-Grad-Project-Group-1/Alotech-FullStack-Bootcamp-Graduation-Project-Group-1
- SsoAuth client
- SsoAuth server
- SsoConsumer client
- UserModule client
- UserModule server
SALT_PASS
& JWT_SECRET
in:
- SsoAuth server
- UserModule server
- 1st terminal:
cd SsoAuth
npm start
- 2nd terminal
cd SsoConsumer
cd client
npm start
- 3rd terminal:
cd UserModule
npm start
redirectURL should be one of authorized redirects,
http://127.0.0.1:9010
, the user modulehttp://127.0.0.1:5000
, the consumer
After running the tests, username:
admin
and passwordadmin
can be used to log in
To run tests, run the following command
- 1st Terminal:
cd UserModule
cd server
npm start
- 2nd Terminal:
cd UserModule
cd server
npm test
- 1st Terminal:
cd SsoAuth
cd server
npm start
- 2nd Terminal:
cd SsoAuth
cd server
npm test
-
Coşkun Atak, @Coskntkk
-
Nurullah Küçük, @nrllhkck
-
Oğuzhan Bayram, @oguzhan1857
-
Shafiqullah Turkmen, @ShafiqullahTurkmen