Try our conversational search powered by Generative AI!

Next Js and Optimizely CMS 12 with Windows Authentication

Vote:
 

Hello!

I have an existing Optimizely CMS 12 website hosted on prem, running MVC, where I plan to remove the MVC parts and start using the Content Delivery Api together with setting up a new frontend website running Next Js.

My workplace has a similar setup for an external website already, but the difference is that this is an internal website using windows authentication (and impersonation to other services) and I can´t seem to figure out how to make this work with Next (Node Js).

I started looking at npm packages, for example node-sspi and node-expose-sspi, but they all seem rather obsolete. So then I thought maybe I could set up a reverse proxy for the frontend website, running windows auth and passing the negotiate token through the frontend and on to the backend website, but that token does not seem to validate on the backend server. I also tried signing in using windows authentication on the rev. proxy and setting a cookie with the claimsidentity and reading the cookie on the backend server. This works well for the claims part, but I am unable to cast the claims identity to a windows identity for impersonation.

Has anyone else attempted anything similar? Any advice is much appreciated.

#321646
May 07, 2024 7:56
Vote:
 

Assuming you are in a corporate environment there's probalby an ADFS-server. These can expose OpenID endpoints which is the way to go.

If not going the OpenID route there are LDAP-libraries for Next, e.g. ldapjs, https://next-auth.js.org/tutorials/ldap-auth-example

#321955
May 13, 2024 10:08
Vote:
 

Thank you for answering!

I actually found an npm package - Kerberos Js - which seems to work well so far for retrieving Kerberos Tokens. I´m hoping this will pan out since we don´t have the time at the moment to rewrite other legacy services called by the api. If not I will have to delve deeper into OpenId.

Thanks again!

#322081
May 15, 2024 12:59
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.