|
| 1 | +## v26.2.2 |
| 2 | + |
| 3 | +### Phone number verification with SMS code |
| 4 | + |
| 5 | +You can now verify phone numbers through the standalone verification flow, not just as a side effect of registration. When an SMS |
| 6 | +courier channel is configured, the verification page accepts both email addresses and phone numbers. |
| 7 | + |
| 8 | +- The verification form input label changes to "Email or phone number" when an SMS channel is configured. Without an SMS channel, |
| 9 | + the label remains "Email". |
| 10 | +- Submitting a phone number sends a verification code via SMS. |
| 11 | +- The UI shows SMS-specific confirmation and success messages instead of email-specific ones. |
| 12 | +- Unknown phone numbers are handled silently (no SMS is sent) to prevent enumeration and avoid SMS costs. |
| 13 | + |
| 14 | +### Update identity traits and metadata from OIDC claims on login |
| 15 | + |
| 16 | +You can now configure OIDC providers to automatically update identity traits and metadata from the upstream provider's claims on |
| 17 | +every login — not just during registration. |
| 18 | + |
| 19 | +Set `update_identity_on_login` to `automatic` on any OIDC provider to enable this. The same Jsonnet claims mapper that runs during |
| 20 | +registration will re-run on each login. If the mapper output differs from the stored identity, traits and metadata are updated |
| 21 | +before post-login hooks run. |
| 22 | + |
| 23 | +The mapper receives the current identity as `std.extVar('identity')` with `traits`, `metadata_public`, and `metadata_admin`, so |
| 24 | +you can write conditional logic that preserves existing values or merges selectively. |
| 25 | + |
| 26 | +When the mapper omits `metadata_public` or `metadata_admin` from its output, existing values are preserved. When it explicitly |
| 27 | +outputs `{}`, the fields are cleared. |
| 28 | + |
| 29 | +This setting is available per provider in the Ory Console under advanced settings, and via the API as `update_identity_on_login` |
| 30 | +on the provider configuration. |
0 commit comments