Commit Graph

35 Commits

Author SHA1 Message Date
aeneasr 1bdc19ae3e feat: identifier first auth 2024-07-11 16:08:34 +02:00
Jonas Hungershausen 1516cf64e3
feat: support MFA via SMS (#3682)
---------

Co-authored-by: zepatrik <zepatrik@users.noreply.github.com>
2024-01-26 17:01:11 +01:00
Henning Perl b784949d03
feat: link oidc credentials when login (#3563)
When user tries to login with OIDC for the first time but has already registered before with email/password a credentials identifier conflict may be detected by Kratos. In this case user needs to login with email/password first and then link OIDC credentials on a settings screen.
This PR simplifies UX and allows user to link OIDC credentials to existing account right in the login flow, without
switching to settings flow.

Closes #2727
Closes #3222
2023-11-08 10:12:09 +01:00
Patrik 0941bdb7ea
chore: unify and improve message context (#3462) 2023-08-30 09:49:13 +02:00
Alano Terblanche eaaf375199
feat: passwordless browser login and registration via code to email (#3378)
This feature adds passwordless email code login. When a user signs up, or signs in, a code is sent to their email address which they can use to complete the authentication process.

This feature is currently only working for browser facing APIs.

Closes #2029
Closes ory-corp/cloud#3573
2023-08-29 15:43:03 +02:00
Patrik 37f16577d9
feat: improve messages for easier i18n (#3457) 2023-08-28 14:45:25 +02:00
Arne Luenser 8b284697e4
feat: provide login hints when registration fails due to duplicate credentials/addresses (#3430)
* feat: provide login hints when registration fails due to duplicate credentials or identifiers

* feat: identify edge cases and write tests

* chore: synchronize workspaces

* feat: make login hints configurable

* chore: synchronize workspaces

* chore: synchronize workspaces

* chore: synchronize workspaces

* chore: synchronize workspaces

---------

Co-authored-by: aeneasr <3372410+aeneasr@users.noreply.github.com>
2023-08-15 16:59:49 +02:00
Henning F 9477ea4a7b
fix: report correct errors for json schema validation (#3085)
- Implemented the translation of `jsonschema.ValidationError` to errors codes documented [here](https://www.ory.sh/docs/kratos/concepts/ui-user-interface#machine-readable-format)
- Added missing error codes for relevant schema errors
  | Validation         | Name                            | ID      |
  | ------------------ | ------------------------------- | ------- |
  | `maxLength`        | ErrorValidationMaxLength        | 4000017 |
  | `minimum`          | ErrorValidationMinimum.         | 4000018 |
  | `exclusiveMinimum` | ErrorValidationExclusiveMinimum | 4000019 |
  | `maximum`          | ErrorValidationMaximum          | 4000020 |
  | `exclusiveMaximum` | ErrorValidationExclusiveMaximum | 4000021 |
  | `multipleOf`       | ErrorValidationMultipleOf       | 4000022 |
  | `maxItems`         | ErrorValidationMaxItems         | 4000023 |
  | `minItems`         | ErrorValidationMinItems         | 4000024 |
  | `uniqueItems`      | ErrorValidationUniqueItems      | 4000025 |
  | `type`             | ErrorValidationWrongType        | 4000026 |
- Updated e2e tests to check these IDs explicitly
2023-02-10 14:55:00 +01:00
aeneasr d77e2cf56c
fix: update year 2023-01-03 08:22:16 +01:00
Kevin Goslar 8406eaf920
feat: standardize license headers (#2790) 2022-11-08 17:41:34 +01:00
Łukasz Harasimowicz e48e9fac7a
feat: implement blocking webhooks (#1585)
feat: implement blocking webhooks (#1585)

This feature allows webhooks to return validation errors in the registration and login flow from a webhook. This feature enables you to deny sign-ups from a specific domain, for example.

A big thank you goes out to the team at Wikia / Fandom for implementing and contributing to this feature!

Closes #1724
Closes #1483
2022-07-22 10:10:57 +02:00
aeneasr 303dc6bc33 feat: add message for missing webauthn credentials 2022-03-07 08:49:52 +01:00
aeneasr 8c4d8a2284 fix: typo 2021-10-19 08:48:27 +02:00
aeneasr a71cadde91 test: add login tests 2021-10-19 08:48:27 +02:00
aeneasr e8f4d3cb89 feat: support webauthn for mfa 2021-10-19 08:48:27 +02:00
aeneasr 1e457e3b3d fix: better const handling for internal context 2021-10-19 08:48:27 +02:00
aeneasr 4e691238da fix: remove duplicate schema error 2021-10-19 08:48:27 +02:00
aeneasr 6e503cff28 test: complete TOTP login integration tests 2021-10-19 08:48:27 +02:00
aeneasr 45467e0cab feat: implement AAL for login and sessions 2021-10-19 08:48:27 +02:00
Dimitrij Drus 1cf61cdeed
feat: require verified address (#1355)
Closes #1328

Co-authored-by: aeneasr <3372410+aeneasr@users.noreply.github.com>
2021-08-04 15:15:56 +02:00
aeneasr 19198cf2bd chore: resolve linter issues 2021-05-04 14:32:42 +02:00
aeneasr 1fcc8557bf fix: do not return system errors for missing identifiers
Closes #1286
2021-05-04 14:32:42 +02:00
Radek Gruchalski e3cf3da357
chore: typos and Hydra replacements (#1307) 2021-05-04 10:09:35 +02:00
aeneasr dbf2668747 refactor: replace verification flow methods with ui container
BREAKING CHANGE: This implies a significant breaking change in the verification flow payload. Please consult the new ui documentation. In essence, the login flow's `methods` key was replaced with a generic `ui` key which provides information for the UI that needs to be rendered.

To apply this patch you must apply SQL migrations. These migrations will drop the flow method table implying that all verification flows that are ongoing will become invalid. We recommend purging the flow table manually as well after this migration has been applied, if you have users doing at least one self-service flow per minute.
2021-04-09 20:27:00 +02:00
aeneasr cac04562f2 refactor: replace recovery flow methods with ui container
BREAKING CHANGE: This implies a significant breaking change in the recovery flow payload. Please consult the new ui documentation. In essence, the login flow's `methods` key was replaced with a generic `ui` key which provides information for the UI that needs to be rendered.

To apply this patch you must apply SQL migrations. These migrations will drop the flow method table implying that all recovery flows that are ongoing will become invalid. We recommend purging the flow table manually as well after this migration has been applied, if you have users doing at least one self-service flow per minute.
2021-04-09 20:27:00 +02:00
aeneasr f28087aaf1 fix: resolve oidc e2e regressions 2021-04-09 20:27:00 +02:00
aeneasr 3f6388d03f refactor: replace registration flow methods with ui container
BREAKING CHANGE: This implies a significant breaking change in the registration flow payload. Please consult the new ui documentation. In essence, the login flow's `methods` key was replaced with a generic `ui` key which provides information for the UI that needs to be rendered.

To apply this patch you must apply SQL migrations. These migrations will drop the flow method table implying that all registration flows that are ongoing will become invalid. We recommend purging the flow table manually as well after this migration has been applied, if you have users doing at least one self-service flow per minute.
2021-04-09 20:27:00 +02:00
aeneasr 6bae66cde3 feat: add error for when no login strategy was found 2021-04-09 20:27:00 +02:00
aeneasr a61f881410 feat(schema): add totp errors 2021-04-09 20:27:00 +02:00
hackerman 81069514e5
refactor: text errors to text messages (#476)
This patch implements a better way to deal with text messages by giving them a unique ID, a context, and a default message.

Closes #428

BREAKING CHANGES: Flows, request methods, form fields have had a key errors to show e.g. validation errors such as ("not an email address", "incorrect username/password", and so on. The `errors` key is now called `messages`. Each message now has a `type` which can be `error` or `info`, an `id` which can be used to translate messages, a `text` (which was previously errors[*].message). This affects all login, request, settings, and recovery flows and methods.
2020-06-06 17:49:23 +02:00
hackerman e169a3e407
feat: implement account recovery (#428)
This patch implements the account recovery with endpoints such as "Init Account Recovery", a new config value `urls.recovery_ui` and so on. A new identity field has been added `identity.recovery_addresses` containing all recovery addresses.

Additionally, some refactoring was made to DRY code and make naming consistent. As part of dependency upgrades, structured logging has also improved and an audit trail prototype has been added (currently streams to stderr only).


Closes #37

BREAKING CHANGES:

* Applying this patch requires running SQL Migrations.
* The field `identity.addresses` has moved to `identity.verifiable_addresses`.
* Configuration key `selfservice.verification.link_lifespan`
has been merged with  `selfservice.verification.request_lifespan`.
2020-06-05 12:41:08 +02:00
hackerman eed00f4b32
feat: Implement email verification (#245)
Closes #27
2020-02-13 20:56:22 +01:00
hackerman 61f5c1d3d8
refactor: Move to ory/jsonschema/v3 everywhere (#229)
Closes #225
2020-02-06 15:44:07 +01:00
hackerman 4c88968a68 Prevent duplicate signups (#76)
Closes #46
2019-11-04 18:13:41 +01:00
hackerman bf3395ea34 Implement identity management, login, and registration (#22) 2019-11-04 18:13:41 +01:00