首先,我想说,直到现在,我还没有听说过SAML,更不用说开发了一个涉及它的SSO策略.再加上我几乎一年都没做过node,这就形成了一个很棒的新手三明治.目前,我有一个客户使用SAML和ADFS作为他们的SSO提供者.我已经在用Passport 了.js用于本地登录,因此使用passport saml似乎是使用saml/ADFS实现SSO的方法.在我的研究中,我发现了几个不同的实现指南,但由于我对这个过程一无所知,我可以使用一些指针.
在passport saml文档中,我发现了以下经证明适用于ADF的策略(根据文档):
{
entryPoint: 'https://ad.example.net/adfs/ls/',
issuer: 'https://your-app.example.net/login/callback',
callbackUrl: 'https://your-app.example.net/login/callback',
cert: 'MIICizCCAfQCCQCY8tKaMc0BMjANBgkqh ... W==',
identifierFormat: null
}
我想我的主要问题是这个证书来自哪里?这是我通过SSL在服务器上生成的证书吗?供应商提供了吗?
在我的搜索中,我还发现了这个:https://github.com/auth0/passport-wsfed-saml2,它基于passport saml.建议对ADF进行以下配置:
{
path: '/login/callback',
realm: 'urn:node:app',
homeRealm: '', // optionally specify an identity provider
identityProviderUrl: 'https://auth10-dev.accesscontrol.windows.net/v2/wsfederation',
cert: 'MIIDFjCCAf6gAwIBAgIQDRRprj9lv5 ... ='
}
在这个例子中,路径对象是显而易见的,我的提供者已经给了我一个providerURL.但对我来说,王国毫无意义,而且这该死的证书又出现了.
有人能为我提供一种在 node 中实现SAML/ADFS SSO的"解释式"方法吗.js网站?或者帮我把我所概述的两种解决方案所要求的论点对象弄清楚?非常感谢!