(Note: I'm not a cryptography expert by any means)
If the server doesn't know the password, he can only verify the hash by storing it once and comparing it when logging in, right? Therefore, the server must always use the same secret, because if the hash changes, it can't verify it.
So if the hash is always the same, and the server must know it to log the user in, the hash effectively becomes the password, since any attacker could just send it as-is to authenticate.
If you want some system that the server can verify without knowing, but that can change to prevent replay attacks, I think you need some kind of asymmetric signature.