目前我有一个具有 sso 身份验证的门户页面,用户单击“登录”按钮,应用程序会自动将用户重定向到 SSO 登录。所有这些在前端的 React 和后端的 Express 中都可以正常工作。
用于身份验证的后端代码非常简单,使用图书馆护照和护照-saml。
这是一个例子:
// initialize SAML auth
var samlStrategy = new saml.Strategy(
{
callbackUrl: process.env.CALLBACK_URL,
entryPoint: process.env.ENTRY_POINT,
issuer: process.env.ISSUER,
cert: process.env.CERTIFICATE
},
function (profile, done) {
return done(null, profile);
}
)
//the middleware
app.use(passport.initialize()); // init passport on every route call.
app.use(passport.session()); // allow passport to use "express-session".
// passport lifecycle
passport.use(samlStrategy);
passport.serializeUser(function(user, done) {
done(null, user);
});
passport.deserializeUser(function(user, done) {
done(null, user);
});
CALLBACK_URL 字符串是这样的:
https://login.microsoftonline.com/xxx/saml2
入口点是 AWS cognito 链接
urn:amazon:cognito:sp:{zone_string}_{code}
现在,我想将应用程序迁移到 NextJS 并让 Next 处理身份验证,而不需要为此请求快速服务器。
有什么方法可以让 NextJS 处理这一切吗?我可以在NextJS中实现passport吗?(我尝试过但失败了)
感谢您的帮助
好吗?我的应用程序也遇到类似的情况,我尝试集成 SSO SAML 身份验证流程。你达到你的目标了吗?让我们讨论一下是否可能,因为我真的应该尽快实施