我正在集成一个外部OTP解决方案,以便在LDAP(Active Directory / Open LDAP)中使用 . 用户使用针对LDAP进行身份验证的用户标识和密码来注册令牌,成功验证后,用户在具有令牌ID和用户ID的OTP系统中注册 .

注册期间的LDAP过程:

  • 绑定到ldap.orgname.local:636(服务器),带SSL,帐号为"CN=ServiceUser,DC=orgname,DC=local"(serviceUser),密码为"svcPassword"(servicePassword)

  • 使用"cn"(userNameAttribute)等于"john"在根"OU=Users,DC=orgname,DC=local"(userRootDN)上搜索树以进行用户输入

  • 在"cn=john,OU=Users,DC=orgname,DC=local"查找条目

  • 用密码验证"cn=john,OU=Users.DC=orgname,DC=local" "testpass"

  • 如果验证成功,则OTP令牌与用户“john”关联

在身份验证期间,用户从令牌提供用户ID和OTP,OTP系统验证来自令牌和用户ID的OTP,如果匹配则必须查询LDAP以检索groupmember / nsrole以在系统中提供正确的访问权限 .

身份验证期间的LDAP过程

  • 在匹配的OTP令牌成功验证后,执行LDAP查找以进行授权 .

  • 绑定到ldap.orgname.local:636(服务器),带SSL,帐号为"CN=ServiceUser,DC=orgname,DC=local"(serviceUser),密码为" svcPassword "(servicePassword)

  • 在根"OU=Users,DC=orgname,DC=local"(userRootDN)的树中搜索用户条目,其属性"cn"(userNameAttribute)等于" john"

  • 在"cn=john,OU=Users,DC=orgname,DC=local"找到一个条目

  • 在根"OU=Roles,DC=orgname,DC=local"(roleRootDN)的树中搜索具有属性"member"(roleUserDNAttribute)等于"cn=john,OU=Users,DC=orgname, DC=local"的组条目

  • 返回每个角色的"cn"(roleNameAttribute)属性的值,以继续为用户提供访问权限

由于获取角色只是一个查询,此时是否有任何LDAP命令或方法让LDAP知道用户已经在外部进行了身份验证,这将有助于审核日志?