【问题标题】:Oauth service for LDAP authentication用于 LDAP 身份验证的 Oauth 服务
【发布时间】:2016-12-08 18:28:05
【问题描述】:

我们有一个场景,我们必须使用 LDAP 服务器对用户进行身份验证

流程一:

client --> application server --> LDAP server

在上述流程中,客户端输入到达应用程序服务器的 LDAP 凭据,然后使用 python-ldap 我们可以直接对用户进行身份验证。由于用户 LDAP 凭据来自应用程序服务器,因此组织可能出于明显的原因不愿意接受此类流程。

流程2:

client --> oauth2 --> LDAP server

这里最适合 Oauth 场景套件,因为用户的身份验证是 oauth 的责任,并且应用程序服务器不需要知道用户凭据。

有没有人遇到过这种情况,如果有,你是怎么处理的? 是否有任何 LDAP 免费和付费的 Oauth 客户端?

【问题讨论】:

    标签: authentication oauth ldap


    【解决方案1】:

    canaille 是一个基于 LDAP 后端的免费且轻量级的 OAuth2/OpenID 服务,用 python 编写。 (此处为 canaille 开发者)

    https://gitlab.com/yaal/canaille

    【讨论】:

      【解决方案2】:

      Ory Hydra https://ory.sh/hydra 可能是原始海报所要求的。这个问题现在已经有好几年了,但为了帮助其他看到这个问题的人……看看 Ory Hydra。它提供 OAuth2/OpenID 部分,并且可以在后台链接到 LDAP 服务器。

      【讨论】:

        【解决方案3】:

        如果您不希望用户凭据到达应用程序服务器,那么您需要的是外围身份验证。您需要有一个外部身份验证提供程序,例如 Oracle Access Manager,它将执行身份验证并在请求中设置某个令牌。应用服务器可以断言这个令牌并让用户访问资源。此模型也支持 SSO。

        1. 需要授权访问的资源在 OAM 中配置为受保护的 URL。

        2. 当用户尝试访问受保护的资源时,他会被要求提供凭据。

        3. OAM 根据 LDAP 目录(在 OAM 中配置)对用户进行身份验证。

        4. 在请求中设置了与经过身份验证的用户对应的令牌。还设置了 SSO cookie。

        5. 应用程序服务器 (Weblogic) 可以断言(验证)此令牌并让用户访问资源。

        注意:Oracle Access Manager 也支持 oAuth。

        【讨论】:

          猜你喜欢
          • 2018-01-14
          • 2013-09-20
          • 2016-05-03
          • 1970-01-01
          • 2013-08-20
          • 2020-01-04
          • 1970-01-01
          • 1970-01-01
          • 2019-12-25
          相关资源
          最近更新 更多