From 411d7c6c5cf533e4e877cad320a918508df41db9 Mon Sep 17 00:00:00 2001 From: Livio Amstutz Date: Mon, 16 May 2022 15:39:09 +0200 Subject: [PATCH] feat: add default redirect uri and handling of unknown usernames (#3616) * feat: add possibility to ignore username errors on first login screen * console changes * fix: handling of unknown usernames (#3445) * fix: handling of unknown usernames * fix: handle HideLoginNameSuffix on unknown users * feat: add default redirect uri on login policy (#3607) * feat: add default redirect uri on login policy * fix tests * feat: Console login policy default redirect (#3613) * console default redirect * placeholder * validate default redirect uri * allow empty default redirect uri Co-authored-by: Max Peintner * remove wonrgly cherry picked migration Co-authored-by: Max Peintner --- cmd/defaults.yaml | 2 + .../login-policy/login-policy.component.html | 13 ++++ .../login-policy/login-policy.component.ts | 6 +- console/src/assets/i18n/de.json | 4 + console/src/assets/i18n/en.json | 4 + console/src/assets/i18n/it.json | 4 + docs/docs/apis/proto/admin.md | 2 + docs/docs/apis/proto/management.md | 4 + docs/docs/apis/proto/policy.md | 2 + .../api/grpc/admin/login_policy_converter.go | 2 + .../grpc/management/policy_login_converter.go | 4 + internal/api/grpc/policy/login_policy.go | 11 ++- .../api/ui/login/external_login_handler.go | 2 +- .../api/ui/login/external_register_handler.go | 2 +- .../api/ui/login/init_password_handler.go | 4 +- internal/api/ui/login/init_user_handler.go | 4 +- internal/api/ui/login/jwt_handler.go | 2 +- internal/api/ui/login/login_handler.go | 22 +++++- internal/api/ui/login/mail_verify_handler.go | 4 +- internal/api/ui/login/password_handler.go | 4 + .../api/ui/login/password_reset_handler.go | 10 ++- internal/api/ui/login/policy_handler.go | 7 ++ internal/api/ui/login/register_handler.go | 2 +- internal/api/ui/login/register_org_handler.go | 2 +- internal/api/ui/login/renderer.go | 19 +++-- internal/api/ui/login/static/i18n/de.yaml | 2 + internal/api/ui/login/static/i18n/en.yaml | 2 + internal/api/ui/login/static/i18n/it.yaml | 2 + .../login/static/templates/init_password.html | 3 +- .../static/templates/init_password_done.html | 8 +- .../ui/login/static/templates/init_user.html | 3 +- .../static/templates/init_user_done.html | 3 +- .../static/templates/mail_verification.html | 3 +- .../login/static/templates/mail_verified.html | 3 +- .../passwordless_registration_done.html | 1 + .../eventsourcing/eventstore/auth_request.go | 55 +++++++++++--- .../eventstore/auth_request_test.go | 14 ++-- internal/command/instance.go | 4 + internal/command/instance_converter.go | 2 + internal/command/instance_login_policy.go | 4 + internal/command/instance_policy_login.go | 11 ++- .../command/instance_policy_login_model.go | 10 ++- .../command/instance_policy_login_test.go | 41 ++++++++++- internal/command/org_policy_login.go | 10 +++ internal/command/org_policy_login_model.go | 10 ++- internal/command/org_policy_login_test.go | 69 +++++++++++++++--- internal/command/policy_login_model.go | 10 +++ internal/command/user_human_password_test.go | 12 +++ internal/command/user_human_test.go | 16 ++++ internal/domain/policy_login.go | 21 ++++++ internal/domain/policy_login_test.go | 73 +++++++++++++++++++ internal/notification/types/domain_claimed.go | 2 +- .../types/email_verification_code.go | 2 +- internal/notification/types/init_code.go | 3 +- internal/notification/types/password_code.go | 2 +- internal/query/label_policy.go | 22 ++++++ internal/query/login_policy.go | 18 ++++- internal/query/login_policy_test.go | 12 +++ internal/query/projection/login_policy.go | 12 +++ .../query/projection/login_policy_test.go | 26 +++++-- internal/repository/instance/policy_login.go | 6 +- internal/repository/org/policy_login.go | 6 +- internal/repository/policy/login.go | 27 ++++++- internal/static/i18n/de.yaml | 2 + internal/static/i18n/en.yaml | 4 +- internal/static/i18n/it.yaml | 2 + proto/zitadel/admin.proto | 22 ++++-- proto/zitadel/management.proto | 40 +++++++--- proto/zitadel/policy.proto | 20 +++-- 69 files changed, 655 insertions(+), 107 deletions(-) create mode 100644 internal/domain/policy_login_test.go diff --git a/cmd/defaults.yaml b/cmd/defaults.yaml index c2e31dacd6..56aa2df2b0 100644 --- a/cmd/defaults.yaml +++ b/cmd/defaults.yaml @@ -247,7 +247,9 @@ DefaultInstance: AllowExternalIDP: true ForceMFA: false HidePasswordReset: false + IgnoreUnknownUsernames: false PasswordlessType: 1 #1: allowed 0: not allowed + DefaultRedirectURI: #empty because we use the Console UI PasswordCheckLifetime: 240h #10d ExternalLoginCheckLifetime: 240h #10d MfaInitSkipLifetime: 720h #30d diff --git a/console/src/app/modules/policies/login-policy/login-policy.component.html b/console/src/app/modules/policies/login-policy/login-policy.component.html index b8459cdf50..923342d24c 100644 --- a/console/src/app/modules/policies/login-policy/login-policy.component.html +++ b/console/src/app/modules/policies/login-policy/login-policy.component.html @@ -129,6 +129,19 @@ --> + + + +