Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

262
Views
How to do single sign-on with NodeJS?

I've got multiple web apps running across multiple domains. I want to implement Single Sign-On, so that a user signs in once to access all apps.

How should I implement this? All apps use NodeJS backend.

General pointers in the right direction are welcome.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

As your apps are running on different domains, you can no way share cookies between those APPS running on client machine to validate the user. So somehow information needs to be shared on server end.

Simplest solution that comes to my mind is:

  1. Have a shared session for all servers.

  2. Have a specific authentication domain and redirect users there whenever authentication is needed. Authenticate user there and set a session cookie or token whatever you want.

  3. Whenever any app of yours needs authentication, redirect it to authentication domain. Authentication cookie will be served to authentication domain as well as the referrer domain. On seeing that you are already validated, authentication server can redirect you to original app with proper sessionID, which will be set as cookie for that domain.

  4. If not authenticated, user will be asked to authenticate on authentication server and then the redirection will happen.

  5. With little changes, you can achieve this using tokens and without need of shared sessions.

Validate the states properly before implementing it. More states in your mechanism means more chances of bugs and possible attacks.

Consider moving your apps on same sub-domain. If the authentication mechanism is same then everyone knows that all apps belong to same company. It will be also be easier for people to remember various sub domains on same domain rather than remembering all different domains.

over 4 years ago · Santiago Trujillo Report

0

The most used project is http://passportjs.org/ that is pretty much the only one I use, has great connectors to on premise soltions like ADFS and third party ones like google, facebook.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!