如何在 NextJS 中实现 SAML SSO 身份验证

问题描述 投票:0回答:1

目前我有一个具有 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吗?(我尝试过但失败了)

感谢您的帮助

typescript next.js single-sign-on serverless saml-2.0
1个回答
0
投票

好吗?我的应用程序也遇到类似的情况,我尝试集成 SSO SAML 身份验证流程。你达到你的目标了吗?让我们讨论一下是否可能,因为我真的应该尽快实施

© www.soinside.com 2019 - 2024. All rights reserved.