将Django身份验证与企业身份提供商PingFederate

时间:2020-01-29 22:56:11

标签: python django saml-2.0 pingfederate

我们在Django框架中开发了网络应用。我们有一个企业身份提供者PingFederate。 chrome浏览器和Edge浏览器的主页(与我们的网站不同)直接识别用户并将其记录在所有内部网站中。我们也在同一网络上共享同一域。我们还希望集成SSO,并希望通过询问密码直接对我们的用户进行身份验证。我研究了每个地方,并知道通过kerbose身份验证进行身份验证。边缘或镶边以某种方式将某些令牌或ID或某些TGT票证发送给身份提供者,然后他们将进行身份验证并将用户名发送回客户端浏览器。谁能帮我解决这个问题。

谢谢。

2 个答案:

答案 0 :(得分:1)

听起来您想与PingFederate解决方案集成以将其用作身份提供者,并允许您的Web应用程序用户通过SSO登录。如果是这样,则您需要与负责PingFedereate的其他团队一起工作。

带有PingFederate管理员的清单

  • 您需要知道是否需要选择将用于登录用户的目录。
  • 您需要在SAML响应中返回哪些用户属性。
  • 您是否将使用应用程序签名SAML请求。
  • 您会从应用程序开始SSO周期,我相信您会这样做,并且在这种情况下,您将使用SP启动。

否则,它将是另一种方式,并且将使用IDP发起。

  • SP已启动-用户将首先调用应用程序URL,然后重定向 到Ping URL并发送回应用程序。
  • 已启动IDP-用户将调用PingFederate URL,并在身份验证后发送到应用程序。

如果您的团队还负责PingFederate解决方案,我将在此处列出步骤:

  • 作为SP(服务提供商)连接的PingFederate的更改

    1. 如果需要,为登录页面创建一个新的IDP(身份提供者)适配器。
      1. IDP适配器将使用密码凭据验证器进行身份验证,并且还具有向用户呈现HTML页面的配置。
      2. 使用检查清单中的内容在Ping中创建SP连接。
        1. 此处的连接将使用上一步中的适配器来显示登录页面
        2. 然后检查用户凭据,如果成功,则建立SSO会话。
        3. 使用所有必需的属性组装SAML响应。
        4. 签名响应并将其发送到连接内配置的应用程序端点。
  • 在网络应用中更改为用户的服务提供者

    1. 应用程序需要将SAML请求发送到Ping中新连接的端点。
    2. 等待专用端点上的响应。
    3. 使用PingFederate服务器的公钥验证SAML响应签名。
    4. 创建本地应用会话并继续。

如果您将使用OpenToken,它将更改为具有适配器到适配器的另一种交互。如果是这种情况,请回答。

答案 1 :(得分:0)

我解决了这个问题并写了一篇关于它的文章。请随意查看那篇文章。 https://medium.com/@manishkumar.bobbili3/how-i-integrated-ping-identity-with-django-web-framework-for-single-sign-on-sso-9be21b953bc5