alert-pharmacist-711
03/28/2025, 11:00 PMchilly-king-10285
03/28/2025, 11:00 PMchilly-king-10285
03/28/2025, 11:00 PMpassword identifiers, including email addresses. As stated in the documentation: > It's important to understand that Ory Identities lowercases all password identifiers and therefore email addresses. Characters + or . which have special meaning for some email providers such as Gmail aren't normalized: > - userNAME is equal to username > - <mailto:[email protected]|[email protected]> is equal to <mailto:[email protected]|[email protected]> > - <mailto:[email protected]|[email protected]> is NOT equal to <mailto:[email protected]|[email protected]> > - <mailto:[email protected]|[email protected]> is NOT equal to <mailto:[email protected]|[email protected]> [Customize identity schemas](https://www.ory.sh/docs/kratos/manage-identities/customize-identity-schema#choosing-between-username-email-and-phone-number) If you're experiencing case sensitivity with your login identifiers, it might be due to one of these reasons: 1. You might be using a different credential method than password (like code or webauthn) 2. There could be an issue with your identity schema configuration To ensure case insensitivity for your login identifiers, make sure you're using the password credential method and that your identity schema is properly configured with the identifier: true property for the fields you want to use as login identifiers. For example, here's how to configure an email field as a case-insensitive login identifier: json { "properties": { "traits": { "properties": { "email": { "type": "string", "format": "email", "<http://ory.sh/kratos|ory.sh/kratos>": { "credentials": { "password": { "identifier": true } } } } } } } } If you're still experiencing issues with case sensitivity after confirming your configuration, it might be worth checking for any custom hooks or actions that might be affecting the login process, or opening an issue on the [Ory Kratos GitHub repository](https://github.com/ory/kratos/).alert-pharmacist-711
03/28/2025, 11:06 PM"<http://ory.sh/kratos|ory.sh/kratos>": {
"credentials": {
"password": {
"identifier": true
},
"totp": {
"account_name": true
},
"webauthn": {
"identifier": true
}
},
"verification": {
"via": "email"
},
"recovery": {
"via": "email"
}
}chilly-king-10285
03/28/2025, 11:06 PMchilly-king-10285
03/28/2025, 11:06 PM"<http://ory.sh/kratos|ory.sh/kratos>" (as a plain string), but your configuration has it as "<http://ory.sh/kratos|ory.sh/kratos>" which appears to be a malformed URL or Markdown-style link. Here's how your configuration should look: json "<http://ory.sh/kratos|ory.sh/kratos>": { "credentials": { "password": { "identifier": true }, "totp": { "account_name": true }, "webauthn": { "identifier": true } }, "verification": { "via": "email" }, "recovery": { "via": "email" } } The namespace key needs to be exactly "<http://ory.sh/kratos|ory.sh/kratos>" for Ory Kratos to properly recognize and process your identity schema extensions. This incorrect format is likely why your login identifier is behaving in a case-sensitive manner, as Kratos isn't properly applying the case normalization that happens with correctly configured password identifiers. [Customize identity schemas](https://www.ory.sh/docs/kratos/manage-identities/customize-identity-schema#password-login-identifier) shows examples of the correct format for these schema extensions.