0

请帮助我使用 djangosml2 库(djangosml2==0.14.5)为 OneLogin IdP 进行 saml 配置。

一旦我成功登录后回到我的应用程序,它就无法解析 xml 响应。

我收到错误“SAML 响应有错误。请检查日志”

这是我的配置: -

SAML_CONFIG = {
  'xmlsec_binary': '/usr/bin/xmlsec1',
  'entityid': 'http://localhost:8006/saml2/metadata/',
  'service': {
      'sp' : {
          'name': 'Federated Django sample SP',
          'allow_unsolicited': True,
          'endpoints': {
              'assertion_consumer_service': [
                  ('http://localhost:8006/saml2/acs/',
                   saml2.BINDING_HTTP_POST),
                  ],
              'single_logout_service': [
                  ('http://localhost:8006/saml2/ls/',
                   saml2.BINDING_HTTP_REDIRECT),
                  ('http://localhost:8006/saml2/ls/post',
                   saml2.BINDING_HTTP_POST),
                  ],
              },
          'required_attributes': ['uid'],
          'optional_attributes': ['eduPersonAffiliation'],
          'idp': {
              'https://app.onelogin.com/saml/metadata/595757': {
                  'single_sign_on_service': {
                      saml2.BINDING_HTTP_REDIRECT: 'https://isystango16.onelogin.com/trust/saml2/http-post/sso/595757',
                      },
                  'single_logout_service': {
                      saml2.BINDING_HTTP_REDIRECT: 'https://isystango16.onelogin.com/trust/saml2/http-redirect/slo/595757',
                      },
                  },
              },
          },
      },
  'metadata': {
      'local': [os.path.join(BASE_DIR, 'new_onelogin_metadata.xml')],
      },
  'debug': 1,
  'cert_file': os.path.join(BASE_DIR, 'new_onelogin .pem'),
  'contact_person': [
      {'given_name': 'Lorenzo',
       'sur_name': 'Gil',
       'company': 'Yaco Sistemas',
       'email_address': 'lgs@yaco.es',
       'contact_type': 'technical'},
      {'given_name': 'Angel',
       'sur_name': 'Fernandez',
       'company': 'Yaco Sistemas',
       'email_address': 'angel@yaco.es',
       'contact_type': 'administrative'},
      ],
  'organization': {
      'name': [('Yaco Sistemas', 'es'), ('Yaco Systems', 'en')],
      'display_name': [('Yaco', 'es'), ('Yaco', 'en')],
      'url': [('http://www.yaco.es', 'es'), ('http://www.yaco.com', 'en')],
      },
  'valid_for': 24,
  }
4

1 回答 1

0

我过去也遇到过类似的问题。如果我没记错的话,消息“SAML 响应有错误。请检查日志”并不意味着 SP 发现响应有问题,这意味着 IDP 告诉你有问题。IE 出于某种原因,IDP 不高兴并让您知道。如果我的记忆告诉我真相,当 SP 和 IDP 无法就属性名称达成一致时,我遇到了这个错误......也许?SP 在它所请求的属性的 name 属性中放置了一个友好名称......或类似的东西。

无论如何,怀疑这对你有帮助,因为这是 6 个月前的事,但它可能会帮助将来的人。

于 2017-06-07T19:12:52.350 回答