I think Keycloak ticks all those boxed rather nicely. While it does support more than a few hundred users, I doubt that this will be a serious issue.
Perhaps you could enlighten us with a few key differentiators of your ideal solution to other common ones?