我正在使用oauth2和LDAP来验证API。认证流程如下。
- 用户将LDAP用户名和密码(具有密码大类)发送到服务器。
- 服务器验证与LDAP服务器通信的密码
- 如果有效,服务器将返回访问令牌和刷新令牌。
- 用户一直使用访问令牌访问API,直到过期为止。过期后,刷新令牌可用于获取新的访问令牌和新的刷新令牌。
用户可以继续访问API,以永远更新令牌。
另一个要求是,在更改用户密码或在LDAP服务器中禁用用户时,使令牌无效。反正有吗?
到目前为止,我尝试了以下方法:
- 最初用户发送LDAP密码哈希时,将其存储在服务器中
- 刷新令牌时,请从LDAP服务器中获取用户的密码哈希并将它们与服务器中保存的密码进行比较
但是看起来并非总是能够获取哈希值。这取决于LDAP配置,目录和权限