2016-08-03 99 views
1

我们有这样一个场景,我们必须与LDAP服务器的Oauth服务LDAP身份验证

流1的用户进行身份验证:

client --> application server --> LDAP server 

在上述流程中,客户端进入其中涉及到应用服务器和LDAP凭证然后使用python-ldap我们可以直接向用户进行身份验证。由于用户LDAP证书来自应用程序服务器,组织可能因为显而易见的原因而不愿意这样的流程。

流程2:

client --> oauth2 --> LDAP server 

的Oauth情景套房最这里,因为用户的认证是基于OAuth的认证和应用服务器不需要知道用户凭证的责任。

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

回答

1

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

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

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

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

  4. 该请求中设置了与认证用户对应的令牌。还设置了SSO Cookie。

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

注意:Oracle Access Manager也支持oAuth。