Как данные SAML должны быть предоставлены IDP? - PullRequest
1 голос
/ 14 февраля 2020

Я пытаюсь использовать https://www.npmjs.com/package/saml2-js для создания IdentityProvider и ServiceProvider для инициированного SP единого входа.

Я понимаю, когда пользователь заходит на эту страницу входа, они будет перенаправлен на URL-адрес перенаправления с параметром запроса «SAMLRequest», который содержит запрос.

app.get('/login', function(req, res) {
  sp.create_login_request_url(idp, {}, function(err, login_url, request_id) {
    if (err != null) return res.send(500)
    res.redirect(login_url)
  })
})

Затем на странице URL-адреса перенаправления должна быть форма входа для IDP, которая передает данные для входа, и SAMLRequest для ВПЛ? Это верно? Если да, то как SAMLRequest передается IDP? это просто форма ввода? или это должен быть заголовок?

  app.post('/assert', function(req, res) {
    var options = {request_body: req.body}
    sp.post_assert(idp, options, function(error, saml_response) {
      if (error != null) {
        console.log(error)
        return res.sendStatus(500)
      }
      res.sendStatus(`Hello ${saml_response.user.name_id}!`)
   })
  })
...