据我了解,您正在寻找 Azure AD SAML 登录 nodejs 演示。
这个演示将对您有所帮助,并且对我有用。
如果你想使用 Azure AD 作为你的 idp,你应该做一些修改,如下所示:
1.创建一个名为“cert”的文件夹。运行以下命令在 cert 文件夹下创建 key.pem 和 cert.pem:
openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out cert.pem
- 转到Azure AD,在此处下载idp cert,将其直接重命名为“cert_idp.pem”并将其也放在cert文件夹下:
3.
创建一个名为“.env”的文件,内容如下:
CALLBACK_URL=https://<your host>/login/callback
ENTRY_POINT=<find the value in the capture below>
ISSUER=<your Azure AD APP ID>
SESSION_SECRET=secret
完成这些步骤后,您可以运行此演示。就我而言,我使用 ngrok 将 4006 端口暴露给公共网络,一旦您访问该应用程序,您将被重定向到 Azure AD SAML 登录页面进行登录:
修改“/”下的get方法,登录成功后获取MSAL token信息:
app.get('/',
ensureAuthenticated,
function(req, res) {
res.send('Authenticated, SAML token info :' + JSON.stringify(req.session.passport.user));
}
);
如果有任何不清楚的地方,请随时告诉我:)