You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From what I have seen here, using Bind Auth on an LDAP directory should allow us not to fill the Secret attribute binding, and just use the "Secret changed" one.
However, by doing this, I am facing an authentication error: Account does not contain secrets, just like the following issue.
By digging further, I found that Stalwart does not actually request this "Secret changed" attribute:
In my case the TRACE log line shows that only a few attributes are returned (mail, mailAlias, uid), and a lot other attributes that are in the directory (cn, givenName, password_changed, etc.) are not included. I can see all the other attributes though, if I query ldap directly (with the same bind as stalwart). That also seems to fit with the log output in the ticket, where the attribute isn't even included in the query; so it looks like Stalwart doesn't actually request the value in the first place.
Couldn't this attribute be optional in general? As long as the bind-call succeeds for the user credentials, logging them in should work. Having the option to invalidate their sessions could be nice, but I think that is somewhat unusual (at least I haven't seen such a requirement in all other LDAP integrations I use. None of them require access to the password hash or a change timestamp; they simply perform the bind and then go with the result.)
What happened?
From what I have seen here, using Bind Auth on an LDAP directory should allow us not to fill the Secret attribute binding, and just use the "Secret changed" one.
However, by doing this, I am facing an authentication error:
Account does not contain secrets
, just like the following issue.By digging further, I found that Stalwart does not actually request this "Secret changed" attribute:
Log of LDAP requests:
You can also see objectClass requested twice
How can we reproduce the problem?
I can reproduce the problem by doing the following steps:
Version
v0.11.x
What database are you using?
RocksDB
What blob storage are you using?
RocksDB
Where is your directory located?
SQL
What operating system are you using?
Docker
Relevant log output
Code of Conduct
The text was updated successfully, but these errors were encountered: