2016-09-26 3 views
0

Моего приложения нуждается в интеграции с SAML IDP, я использую паспортный-SAML, который для Node.js, ниже конфигпаспорта SAML интеграции с IDP

passport.use(new SamlStrategy(
    { 
    issuer: 'http://192.168.1.5/assert', 
    entryPoint: 'https://wwww.aa.com/webservices/public/saml2sso?SPID=http://192.168.1.5/metadata.xml', 

    callbackUrl: 'http://192.168.1.5/assert', 
    decryptionPvk:fs.readFileSync(path.resolve(__dirname, '..', 'certs') + "/cert.pem").toString(), 
    privateCert: fs.readFileSync(path.resolve(__dirname, '..', 'certs') + "/key.pem").toString(), 
    cert: [fs.readFileSync(path.resolve(__dirname, '..', 'certs') + "/dev.cer").toString()], 

    }, 
    function (profile, done) { 
    return done(null, profile); 
    } 
)) 

Я знаю, что сертификат parmater является сертификацией (открытый ключ) из IDP, но что такое privateCert и decryptionPvk. Я передал секретный ключ key.pem как privateCert и открытый ключ (cert.pem) как decryptionPvk, но он не работает. Я генерирую ключ и сертификацию с помощью следующей команды: openssl req -x509 -newkey rsa: 4096 -keyout key.pem -out cert.pem -nodes -days 900

ответ

1

Вы должны проверить это thread, если вы еще этого не сделали

У вас есть только часть конфигурации вашего кода, но я предполагаю, что часть [аутентификация обратного вызова] (https://www.npmjs.com/package/passport-saml#provide-the-authentication-callback) правильно реализована. Что касается свойства «cert», я думаю, вы должны предоставить содержание «cert.pem» в соответствии с примерами документации паспорт-saml.

Смежные вопросы