我们有一个场景,我们必须使用LDAP服务器对用户进行身份验证
流程1:
client --> application server --> LDAP server
在上面的流程中,客户端输入来到应用程序服务器的LDAP凭证,然后使用python-ldap我们可以直接对用户进行身份验证 . 由于用户LDAP凭据来到应用程序服务器,因此组织可能不会因为明显的原因而不愿意这样的流程 .
流程2:
client --> oauth2 --> LDAP server
Oauth场景套件最适合这里,因为用户的身份验证是oauth的责任,应用服务器不需要知道用户凭据 .
有没有人遇到过这种情况,如果是的话,你是如何处理它的?是否有任何用于LDAP的Oauth客户端免费和付费?
1 回答
如果您不希望用户凭据到达应用程序服务器,那么您需要的是边界身份验证 . 您需要有一个外部身份验证提供程序,比如Oracle Access Manager,它将执行身份验证并在请求中设置某个令牌 . 应用程序服务器可以断言此令牌并允许用户访问资源 . 此模型也支持SSO .
需要授权访问的资源在OAM中配置为受保护的URL .
当用户尝试访问受保护资源时,他会受到凭据的质询 .
OAM根据LDAP目录(在OAM中配置)对用户进行身份验证 .
在请求中设置与经过身份验证的用户对应的令牌 . 还设置了SSO cookie .
应用程序服务器(Weblogic)可以断言(验证)此令牌并让用户访问该资源 .
注意:Oracle Access Manager也支持oAuth .