Пример узла JS и SAML
Я хочу создать пример приложения, которое будет защищено с использованием SAML, для которого я пытаюсь использовать passport-saml
,
Я нашел много примеров программ в Интернете. Но не мог помочь завершить мою примерную программу.
Есть ли образец, который доступен с пошаговыми пояснениями, которые я могу проследить напрямую.
Я использую SSOCircle в качестве IDP, который перенаправляет меня на страницу входа в SSO SSOCircle, но после входа он показывает сообщение об ошибке
Произошла ошибка Причина: не удалось выполнить единый вход или объединение.
Ниже приведен мой код в узле.
passport.use(new SamlStrategy(
{
path: '/login/callback',
entryPoint: 'https://idp.ssocircle.com:443/sso/SSORedirect/metaAlias/publicidp',
issuer: 'comuteAWS',
cert: ''
},
function (profile, done) {
return done(null,
{
id: profile.uid,
email: profile.email,
displayName: profile.cn,
firstName: profile.givenName,
lastName: profile.sn
});
})
);
мои метаданные SP следуют
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EntityDescriptor entityID="comuteAWS" xmlns="urn:oasis:names:tc:SAML:2.0:metadata"><SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"><NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat><AssertionConsumerService index="0" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="http://192.168.254.38:3000/vehicles"/></SPSSODescriptor></EntityDescriptor>
3 ответа
Я уже сделал это, но все равно это не работало. Наконец, я использовал провайдера идентификации wso2 и с тем же фрагментом кода он работал.
Я столкнулся с той же проблемой, а затем понял, что URL-адрес entryPoint для SSOCircle был неправильным.
Для SSOCircle вы должны использовать этот URL,
entryPoint: 'https://idp.ssocircle.com/sso/idpssoinit?metaAlias=%2Fpublicidp&spEntityID=Your-Entity-ID'
замещать Your-Entity-ID
с идентификатором вашей сущности.
Вам необходимо импортировать метаданные SAML вашего SP в круг доверия SSOC. Это делается в пользовательском интерфейсе администратора SSOCircle в разделе "Управление метаданными".