Djangosaml2配置

时间:2016-11-21 07:03:45

标签: django single-sign-on saml onelogin

请帮我查看带有djangosml2库的OneLogin IdP的saml配置(djangosaml2 == 0.14.5)。

成功登录后,一旦我回到我的应用程序,就无法解析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,
  }

1 个答案:

答案 0 :(得分:0)

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

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