用于 LDAP 身份验证的 Oauth 服务

nav*_*yad 5 authentication ldap oauth

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

流程 1:

client --> application server --> LDAP server
Run Code Online (Sandbox Code Playgroud)

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

流程2:

client --> oauth2 --> LDAP server
Run Code Online (Sandbox Code Playgroud)

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

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

Ros*_*ith 4

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

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

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

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

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

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

注意:Oracle Access Manager 也支持 oAuth。