This is how we store credentials in the server. An account can have many credentials, and
a credential can have many factors. Only successful auth to a credential as a whole unit
will succeed. For example:
A: Credential { password: aaa }
B: Credential { password: bbb, otp: … }
In this case, if we selected credential B, and then provided password “aaa” we would deny
the auth as the password of B was incorrect. Additionally, while A only needs the “password”,
B requires both the password and otp to be valid.