Я хотел бы предисловие к этому, сказав, что до сих пор я даже не был свидетелем SAML, а тем более разработал стратегию SSO, связанную с этим. Это, в сочетании с тем, что я едва делал node в течение года, делает славный новичок сэндвич. В настоящее время у меня есть клиент, который использует SAML и ADFS в качестве своего поставщика единого входа. Я уже использую pass.js для локальных логинов, поэтому использование паспорт-saml, похоже, является способом реализации SSO с использованием SAML/ADFS. При выполнении моих исследований я нашел пару различных руководств по внедрению, но, поскольку я буквально ничего не знаю об этом процессе, я мог бы использовать несколько указателей.
В документации паспорт-saml я нашел следующее для стратегии, проверенной для работы с ADFS (согласно документам):
{
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, который основан на паспорт-saml. Для ADFS предлагается следующая конфигурация:
{
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. Но царство не имеет для меня никакого смысла, и там этот штопать cert снова.
Может ли кто-нибудь предоставить мне способ "объяснять-как-я-пять" для реализации SOML/ADFS SSO на сайте node.js? Или помочь мне сделать головы или хвосты объектов аргументов, запрошенных двумя решениями, которые я изложил? Очень ценится заранее!