0

私のアプリケーションは SAML IDP と統合する必要があります。node.js 用のパスポート-saml を使用しています。以下は構成です。

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);
  }
))

cert 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

4

2 に答える 2

1

まだチェックしていない場合は、このスレッドをチェックしてください。

コードの構成部分のみを添付しましたが、[認証コールバック] ( https://www.npmjs.com/package/passport-saml#provide-the-authentication-callback ) 部分が適切に実装されていると思います。「cert」プロパティについては、passport-saml のドキュメントの例に従って、「cert.pem」の内容を提供する必要があると思います。

于 2016-09-26T13:50:43.957 に答える