Commit Graph
66 Commits
Author SHA1 Message Date
Livio SpringandGitHub 3b59b5cb1a fix(login): correctly render logo based on theme mode (#8355)
# Which Problems Are Solved

The initial load of the login UI with dark mode preference
(prefers-color-scheme: dark) first rendered the logo configured for
light mode. Also switching from dark to light or vice versa would result
in the same behavior.
This was due to a mixed logic of server (based on cookie) and client
(prefers-color-scheme and cookie) deciding which mode to render.

# How the Problems Are Solved

- Since the main logic of which mode to use (`prefers-color-scheme`) can
only be achieve client side, both logos will be served in the HTML and
either will be rendered based on CSS.

# Additional Changes

None

# Additional Context

- closes #2085
2024-07-25 07:38:36 +00:00
Livio SpringandGitHub 0e99c8356a fix: correctly check user auth methods and enable button (#8342)
# Which Problems Are Solved

#8291 added backwards compatibilty for users who were created through
the user V2 API and want to sign in to the login UI.
There were however to issues, where users might be prompted to set a
password even if they already had one set or they would not be able to
submit the email verification code.

# How the Problems Are Solved

- Replaced `SearchUserAuthMethods `with `ListUserAuthMethodTypes` to
check for set up auth methods.
- Fixed page / javascript to disable submit button.

# Additional Changes

- Changed `ListActiveUserAuthMethodTypes ` to `ListUserAuthMethodTypes`
and a `activeOnly` boolean parameter

# Additional Context

- relates to #8291
- noticed internally on QA
2024-07-22 14:46:27 +02:00
07b2bac463 fix: allow login with user created through v2 api without password (#8291)
# Which Problems Are Solved

User created through the User V2 API without any authentication method
and possibly unverified email address was not able to login through the
current hosted login UI.

An unverified email address would result in a mail verification and not
an initialization mail like it would with the management API. Also the
login UI would then require the user to enter the init code, which the
user never received.

# How the Problems Are Solved

- When verifying the email through the login UI, it will check for
existing auth methods (password, IdP, passkeys). In case there are none,
the user will be prompted to set a password.
- When a user was created through the V2 API with a verified email and
no auth method, the user will be prompted to set a password in the login
UI.
- Since setting a password requires a corresponding code, the code will
be generated and sent when login in.

# Additional Changes

- Changed `RequestSetPassword` to get the codeGenerator from the
eventstore instead of getting it from query.

# Additional Context

- closes https://github.com/zitadel/zitadel/issues/6600
- closes https://github.com/zitadel/zitadel/issues/8235

---------

Co-authored-by: Stefan Benz <[email protected]>
2024-07-17 06:43:07 +02:00
fb8cd18f93 feat: password age policy (#8132)
# Which Problems Are Solved

Some organizations / customers have the requirement, that there users
regularly need to change their password.
ZITADEL already had the possibility to manage a `password age policy` (
thought the API) with the maximum amount of days a password should be
valid, resp. days after with the user should be warned of the upcoming
expiration.
The policy could not be managed though the Console UI and was not
checked in the Login UI.

# How the Problems Are Solved

- The policy can be managed in the Console UI's settings sections on an
instance and organization level.
- During an authentication in the Login UI, if a policy is set with an
expiry (>0) and the user's last password change exceeds the amount of
days set, the user will be prompted to change their password.
- The prompt message of the Login UI can be customized in the Custom
Login Texts though the Console and API on the instance and each
organization.
- The information when the user last changed their password is returned
in the Auth, Management and User V2 API.
- The policy can be retrieved in the settings service as `password
expiry settings`.

# Additional Changes

None.

# Additional Context

- closes #8081

---------

Co-authored-by: Tim Möhlmann <[email protected]>
2024-06-18 11:27:44 +00:00
18222008b6 feat: Contribute i18n swedish language (#8105)
# Which Problems Are Solved

- Swedish speakers cannot use their beautiful native language ;-)

# How the Problems Are Solved

- Contributes Swedish language for Login, Console, common texts and
Emails


# Additional Changes

- none

# Additional Context

- The PR currently provides all translation files according to
https://github.com/zitadel/zitadel/blob/main/CONTRIBUTING.md#contribute-internationalization.

---------

Co-authored-by: Tim Möhlmann <[email protected]>
Co-authored-by: Livio Spring <[email protected]>
2024-06-15 13:45:19 +00:00
1374f17c8d fix(login): ldap login page js file not found (#8101)
# Which Problems Are Solved
* fix ldap login page js file not found

![image](https://github.com/zitadel/zitadel/assets/10323352/47640ae9-3aa2-4a62-aa95-e23750cb8eb7)

Signed-off-by: Yxnt <[email protected]>
Co-authored-by: Livio Spring <[email protected]>
2024-06-13 07:05:59 +00:00
cfa3d013a4 feat: show max password length in complexity components (#7810)
# Which Problems Are Solved

There is confusing ambiguity in the error messages for setting too long
passwords in different places.

# How the Problems Are Solved

A check for maximum password length is added so it's clear that
passwords can't exceed a maximum length of 70 or 72 bytes.
Password validation now provides a live updating check mark or cross
mark to indicate if the maximum length requirement is met.

# Additional Changes

Clarified requirement descriptions on the registration page with
complete sentences.

# Additional Context

Closes #6301

---------

Co-authored-by: Elio Bischof <[email protected]>
2024-05-23 08:07:36 +00:00
Livio SpringandGitHub d177b82d2d fix(login): check for error before automatic idp redirect (#7891)
* fix(login): check for error before automatic idp redirect

* hide next button on login page if username password is not enabled
2024-05-03 07:57:24 +00:00
Livio SpringandGitHub dcfa2f7955 feat(idp): provide option to auto link user (#7734)
* init auto linking

* prompt handling

* working

* translations

* console

* fixes

* unify

* custom texts

* fix tests

* linting

* fix check of existing user

* fix bg translation

* set unspecified as default in the form
2024-04-10 15:46:30 +00:00
a988b9cc05 fix: Update url to redirect to name change url (#7683)
* update url to redirect to name change url

* Update register_option.html

* Update register_option.html

---------

Co-authored-by: Livio Spring <[email protected]>
2024-04-04 06:16:58 +00:00
dcb1c7fa75 fix: Incorrect button positioning on email verification (#7579)
change mail verification page styling

Co-authored-by: Max Peintner <[email protected]>
2024-03-28 09:52:29 +00:00
93c3763a1c fix: add back button to password reset done (#7119)
Co-authored-by: Livio Spring <[email protected]>
2024-01-08 11:56:40 +00:00
3f4aea1a75 fix: replace password back button with arrow (#7120)
Co-authored-by: Livio Spring <[email protected]>
2024-01-08 11:23:34 +00:00
79130b238b fix: replace back button with <- in user register (#6981)
Co-authored-by: Livio Spring <[email protected]>
2023-11-29 15:52:12 +00:00
1fac15e186 feat(i18n): Dutch language support (#6952)
* feat(i18n): Dutch language support

* Fixed formatting issues

* add missing error lines

---------

Co-authored-by: Tim Möhlmann <[email protected]>
2023-11-22 14:35:21 +00:00
9ccdfdc196 feat: Add translations for Russian (#6864)
* wip

* add Russian (autotranslate)
TODO: review translations

* fix console linting

* add russian language to login translations

* docs

* missing console translations

---------

Co-authored-by: Livio Spring <[email protected]>
2023-11-08 07:38:55 +00:00
petrmifekandGitHub e839f03f57 feat(i18n): Czech language support (#6870)
feat(i18n): Add Czech language support
2023-11-08 07:55:41 +01:00
cb7b50b513 feat: add attribute to only enable specific themes (#6798)
* feat: enable only specific themes in label policy

* feat: enable only specific themes in label policy

* feat: enable only specific themes in label policy

* feat: enable only specific themes in label policy

* add management in console

* pass enabledTheme

* render login ui based on enabled theme

* add in branding / settings service and name consistently

* update console to latest proto state

* fix console linting

* fix linting

* cleanup

* add translations

---------

Co-authored-by: Livio Spring <[email protected]>
Co-authored-by: Tim Möhlmann <[email protected]>
2023-10-26 05:54:09 +00:00
Livio SpringandGitHub c790715628 fix: improve autofill values (#6541) 2023-09-13 08:16:57 +02:00
c115ae374e feat: replace inactive remove active from select account (#6364)
* feat: replace inactive remove active from select account

* fix: apply same behavior to console user select

---------

Co-authored-by: Livio Spring <[email protected]>
2023-09-08 12:15:39 +00:00
e17b49e4ca feat: add apple as idp (#6442)
* feat: manage apple idp

* handle apple idp callback

* add tests for provider

* basic console implementation

* implement flow for login UI and add logos / styling

* tests

* cleanup

* add upload button

* begin i18n

* apple logo positioning, file upload component

* fix add apple instance idp

* add missing apple logos for login

* update to go 1.21

* fix slice compare

* revert permission changes

* concrete error messages

* translate login apple logo -y-2px

* change form parsing

* sign in button

* fix tests

* lint console

---------

Co-authored-by: peintnermax <[email protected]>
2023-08-31 08:39:16 +02:00
Livio SpringandGitHub 66772ad0dd fix: restrict AllowRegistration check to local registration (#5939)
* fix: restrict AllowRegistration check to local registration

* add comment

* add additional tests

* hide registration fields if no registration allowed

* fix: always allow linking and creation of external idps on users in userV2 and admin import

* chore: exclude console dist and node_module folders from cache

* chore: include node_module folders into cache again

* linting
2023-08-23 13:55:52 +02:00
d83681a928 fix(login): mfa prompt styles (#6366)
* feat: login with otp

* fix(i18n): japanese translation

* add missing files

* fix provider change

* add event types translations to en

* add tests

* resourceOwner

* remove unused handler

* fix: secret generators and add comments

* add setup step

* rename

* linting

* fix setup

* improve otp handling

* fix autocomplete

* translations for login and notifications

* translations for event types

* fix: mfa prompt styles

* fix merge

* fix merge

* fix html

* rm unused files

---------

Co-authored-by: Livio Spring <[email protected]>
2023-08-15 14:05:00 +00:00
Livio SpringandGitHub 7c494fd219 feat(login): add OTP (email and sms) (#6353)
* feat: login with otp

* fix(i18n): japanese translation

* add missing files

* fix provider change

* add event types translations to en

* add tests

* resourceOwner

* remove unused handler

* fix: secret generators and add comments

* add setup step

* rename

* linting

* fix setup

* improve otp handling

* fix autocomplete

* translations for login and notifications

* translations for event types

* changes from review

* check selected mfa type
2023-08-15 12:47:05 +00:00
Miguel CabrerizoandGitHub dfd469c66f fix: go back to user selection from other user (#6255)
* fix: go back to user selection from other user

* fix: replace button with left arrow
2023-08-10 17:35:52 +00:00
fcc1acbf81 feat: Brazilian Portuguese internationalization (#6185)
* feat: Brazilian Portuguese internationalization

Co-authored-by: Daniel Michalichyn <[email protected]>
2023-07-20 04:40:45 +00:00
Florian ForsterandGitHub bcf4bfc585 fix: autofill related issues (#6201) 2023-07-14 12:35:25 +00:00
Vlatko StojkovskiandGitHub a3a1e245ad feat: i18n support for Macedonian language (#6178)
* add macedonian language to currently supported languages

* mk yaml login static with en values

* mk json assets with en values

* mk yaml notification static with en values

* add macedonian notification yaml

* mk yaml static with en values

* mk translations for login

* mk translations for internal

* macedonian translations

* - fix lint issues
2023-07-12 08:41:50 +00:00
4378eb7cb5 feat: internationalization Bulgarian (#5998)
* Feature BG init

* lint fix

* Fix merge conflict

* merge main branch add bg lang

* reference centrally defined langs

* refactor supportedLanguages

---------

Co-authored-by: Livio Spring <[email protected]>
Co-authored-by: Elio Bischof <[email protected]>
Co-authored-by: Max Peintner <[email protected]>
Co-authored-by: Elio Bischof <[email protected]>
2023-06-16 17:35:03 +02:00
58cfb94e1d fix(login): url safe encoding base64 (#5983)
* url safe encoding base64

* js rm export

* fix: publish docker image

* rm releaserc

---------

Co-authored-by: Elio Bischof <[email protected]>
Co-authored-by: Silvan <[email protected]>
2023-06-08 09:27:03 +02:00
3ca7147808 fix: introduce measures to avoid bots crawling and indexing activities (#5728)
* fix: 404 for robots.txt and meta robots tags

* fix: add unit tests for robots txt and tag

* fix: add meta tag robots none for login pages

* fix: weird format issue in header.go

* fix: add x-robots-tag=none to grpcwebserver

* fix linting

---------

Co-authored-by: Silvan <[email protected]>
Co-authored-by: Livio Spring <[email protected]>
2023-05-05 10:25:02 +02:00
5819924275 feat: device authorization RFC 8628 (#5646)
* device auth: implement the write events

* add grant type device code

* fix(init): check if default value implements stringer

---------

Co-authored-by: adlerhurst <[email protected]>
2023-04-19 08:46:02 +00:00
d140f9373a feat: Zitadel translated into Spanish (#5634)
* feat: spanish translation in progress

* feat: 85% of translated strings

* feat: spanish translation 95% done

* fix: fix some typos

* fix: add missing translations for recent commits

* Apply suggestions from code review

Co-authored-by: Livio Spring <[email protected]>

---------

Co-authored-by: Elio Bischof <[email protected]>
Co-authored-by: Livio Spring <[email protected]>
2023-04-14 15:53:19 +02:00
Livio SpringandGitHub 8bf36301ed feat: allow skip of success page for native apps (#5627)
add possibility to return to callback directly after login without rendering the successful login page
2023-04-11 15:07:32 +00:00
Miguel CabrerizoandGitHub 1b9cea0e0c feat: add Help/Support e-mail for instance/org (#5445)
feat: help and support email in privacy policy
2023-03-28 21:36:52 +02:00
Stefan BenzandGitHub 41ff0bbc63 feat: ldap provider login (#5448)
Add the logic to configure and use LDAP provider as an external IDP with a dedicated login GUI.
2023-03-24 15:18:56 +00:00
cf1ac30970 fix: remove unnecessary cancel button as cancel is not possible (#5511)
* fix: remove unnecessary cancel button as cancel is not possible

* fix: add missing tranlation

* fix: add missing tranlation

* docs: missing translations

---------

Co-authored-by: Silvan <[email protected]>
2023-03-24 08:00:56 +00:00
a8fe15829e feat: internationalization Japanese (recreated) (#5513)
japanese translation

---------

Co-authored-by: Max Peintner <[email protected]>
2023-03-22 07:30:46 +01:00
c0843e6b4c feat: add gitlab provider templates (#5405)
* feat(api): add google provider template

* refactor reduce functions

* handle removed event

* linting

* fix projection

* feat(api): add generic oauth provider template

* feat(api): add github provider templates

* feat(api): add github provider templates

* fixes

* proto comment

* fix filtering

* requested changes

* feat(api): add generic oauth provider template

* remove wrongly committed message

* increase budget for angular build

* fix linting

* fixes

* fix merge

* fix merge

* fix projection

* fix merge

* updates from previous PRs

* enable github providers in login

* fix merge

* fix test and add github styling in login

* cleanup

* feat(api): add gitlab provider templates

* fix: merge

* fix display of providers in login

* implement gitlab in login and make prompt `select_account` optional since gitlab can't handle it

* fix merge

* fix merge and add tests for command side

* requested changes

* requested changes

* Update internal/query/idp_template.go

Co-authored-by: Silvan <[email protected]>

* fix merge

* requested changes

---------

Co-authored-by: Silvan <[email protected]>
2023-03-13 17:34:29 +01:00
Livio SpringandGitHub 48f9815b7c feat(login): use new IDP templates (#5315)
The login uses the new template based IDPs with backwards compatibility for old IDPs
2023-02-28 21:20:58 +01:00
84fa20f1ce feat: internationalization Polish (#5117)
* Add Polish translations

* Add references to Polish translations in files

* Make a consistent translation of languages in Chinese translation

* Add missing language references to fr, it and zh

* Translation corrections

* Add missing language references to zh

* Translation corrections

* add latest translation keys

* Translation corrections and addition of some new ones

* translate auth requests exhausted

* add new untranslated keys

* Translation corrections, fix indentation

---------

Co-authored-by: Elio Bischof <[email protected]>
2023-02-13 12:03:34 +01:00
FabiandGitHub 8b5894c0bb fix: add description to password screen (#5096) 2023-01-24 09:46:31 +00:00
Stefan BenzandGitHub f5eddcc490 fix: separate tos and privacy checkbox into two (#4848) 2022-12-21 09:27:31 +01:00
339fbd4f0c fix: change back to login button and add to register option screen (#4847)
* fix: change back to login button and add to register option screen

* fix: change back to login button and add logic for remove and set events

Co-authored-by: Fabi <[email protected]>
2022-12-20 09:26:48 +01:00
806b9e8238 fix(login): allow setting language on registered users (#4862)
* fix: user language for notifications

* fix(login): allow setting language on registered users

Co-authored-by: Livio Spring <[email protected]>
2022-12-14 11:23:09 +00:00
2a8dfab192 fix(login): mfa prompt UI improvements, fix register field validation, email validation (#4672)
* fix: mfa prompt styling

* register password field validation

* loginname overflow, mfa hover effect

* cleanup

* Update internal/api/ui/login/static/resources/scripts/password_policy_check.js

Co-authored-by: Silvan <[email protected]>

* prettier if check

* cleanup

* Update internal/api/ui/login/static/resources/scripts/password_policy_check.js

Co-authored-by: Livio Spring <[email protected]>

* fix confirmation validation, cleanup

* rm log

* email type validation

* add email validation

* change pattern

* pattern

* comment RFC 2822

* dont wrapp org name

* rm email validation

Co-authored-by: Silvan <[email protected]>
Co-authored-by: Livio Spring <[email protected]>
2022-11-17 13:25:09 +01:00
b432cf4963 fix(login): use label policy settings for favicon, translate titles (#4641)
* fix: render favicon from label policy

* translate main title

* translation

* i18n

* i18n

* i18nkey

* rm attr

* select user title

* Add description meta

* Update internal/api/ui/login/mfa_init_verify_handler.go

Co-authored-by: Livio Spring <[email protected]>

* Update internal/api/ui/login/renderer.go

Co-authored-by: Livio Spring <[email protected]>

* merge ifs

* use errors.internal

* check for i18ndescriptionkey

* missing i18n

Co-authored-by: Livio Spring <[email protected]>
2022-11-07 08:55:12 +00:00
05d875c992 fix(login, console): correctly fill username on initialization, password and change password view (#4546)
* fix(login): add loginname as query param, send with inituserlink

* set loginname as username autofill on password site

* add loginname input on change password

* fix console password change autocomplete

* fix(console): apply labelpolicy if icon is provided, signout page (#4499)

* label policy as observable

* signedout policy via state

* add caching

* disable loading spinner on signedout

* cleanup

* catch error

* update deps

* move policy to localstorage

* handle labelpolicy for users without org

Co-authored-by: Livio Spring <[email protected]>
Co-authored-by: Fabi <[email protected]>

* fix(email): set sender address as return-path header (#4569)

* feat(login): additionally use email/phone for authentication (#4563)

* feat: add ability to disable login by email and phone

* feat: check login by email and phone

* fix: set verified email / phone correctly on notify users

* update projection version

* fix merge

* fix email/phone verified reduce tests

* fix user tests

* loginname check

* cleanup

* fix: update user projection version to handle fixed statement

* ci(e2e): give console init time (#4567)

* fix: idp usage (#4571)

* fix: send email verification instead of init code for idp users

* fix: select single idp of external only users

* fix: use single idp on login

* fix(import): add import for app and machine keys (#4536)

* fix(import): add import for app and machine keys

* fix(export): add review changes

* fix(import): Apply suggestions from code review

Co-authored-by: Livio Spring <[email protected]>

* fix(import): add review changes

Co-authored-by: Livio Spring <[email protected]>

* fix(console): hide metadata on auth side if no `user.read` role present (#4512)

* check for role

* require user.read for showing metadata section in auth-user

* remove aggregate id from role check

Co-authored-by: Livio Spring <[email protected]>

* update stable release to 2.8.2 (#4574)

* fix: import of trigger actions and export of idp links (#4576)

Co-authored-by: Livio Spring <[email protected]>

* fix(console): split password from contact information, initialization mail on top (#4380)

* chore(console): split password from contact information

* change user detail, initialization mail

* fix translation

* Update console/src/assets/i18n/de.json

Co-authored-by: Elio Bischof <[email protected]>

* Update console/src/assets/i18n/de.json

Co-authored-by: Elio Bischof <[email protected]>

* Update console/src/assets/i18n/en.json

Co-authored-by: Elio Bischof <[email protected]>

* Update console/src/assets/i18n/fr.json

Co-authored-by: Elio Bischof <[email protected]>

* Update console/src/assets/i18n/fr.json

Co-authored-by: Elio Bischof <[email protected]>

* Update console/src/assets/i18n/it.json

Co-authored-by: Elio Bischof <[email protected]>

* Update console/src/assets/i18n/en.json

Co-authored-by: Elio Bischof <[email protected]>

* i18n

Co-authored-by: Elio Bischof <[email protected]>

* fix(import): import json marshal to jsonpb (#4580)

* fix(import): import json marshal to jsonpb

* fix: add unmarshaloptions discard unknown

Co-authored-by: Livio Spring <[email protected]>

* fix(import): import json marshal to jsonpb

Co-authored-by: Livio Spring <[email protected]>

* feat(console): rename org (#4542)

* rename org

* add data-e2e

* e2e test

* restore state after

* use ngIf instead of hasrole directive and initialized regex

* rm h2 check

* Update e2e/cypress/e2e/organization/organizations.cy.ts

Co-authored-by: Elio Bischof <[email protected]>

* Update console/src/assets/i18n/de.json

Co-authored-by: Elio Bischof <[email protected]>

* Update console/src/assets/i18n/de.json

Co-authored-by: Elio Bischof <[email protected]>

* Update console/src/assets/i18n/en.json

Co-authored-by: Elio Bischof <[email protected]>

* change e2e test

* org param

* reintroduct org param

* use org query param

* org rename test

* no initial focus on button

* contain name

Co-authored-by: Elio Bischof <[email protected]>

* feat: instance remove (#4345)

* feat(instance): add remove instance event with projections cleanup

* fix(instance): corrected used id to clean up projections

* fix merge

* fix: correct unit test projection names

* fix: current sequence of lists and query for ensuring keypair based projections

Co-authored-by: Livio Spring <[email protected]>
Co-authored-by: Fabi <[email protected]>

* docs: change nextjs quickstart (#4566)

* docs: change nextjs repo update readme

* Update docs/docs/examples/login/nextjs.md

Co-authored-by: Florian Forster <[email protected]>

* Update docs/docs/examples/login/nextjs.md

Co-authored-by: Florian Forster <[email protected]>

Co-authored-by: Florian Forster <[email protected]>

* fix(console): preserve logo and icon aspect ratios, remove border radius in header  (#4585)

* chore(e2e): Skip asking for new password on Admin in dev environment (#4599)

* feat(e2e): Skip asking for new password on Admin

* remove password changing

Co-authored-by: Elio Bischof <[email protected]>

* docs(contributing): remove guides folder (#4603)

* preferredLoginName as queryParam

Co-authored-by: Fabi <[email protected]>
Co-authored-by: Livio Spring <[email protected]>
Co-authored-by: Elio Bischof <[email protected]>
Co-authored-by: Stefan Benz <[email protected]>
Co-authored-by: Florian Forster <[email protected]>
Co-authored-by: p_0g_8mm3_ <[email protected]>
2022-10-24 16:33:06 +02:00
Livio SpringandGitHub 3b03ad82bf fix: registration allowed check and pass loginname to registration (#4507) 2022-10-07 12:17:17 +00:00
bffb10a4b4 feat: allow domain discovery for unknown usernames (#4484)
* fix: wait for projection initialization to be done

* feat: allow domain discovery for unknown usernames

* fix linting

* Update console/src/assets/i18n/de.json

Co-authored-by: Fabi <[email protected]>

* Update console/src/assets/i18n/en.json

Co-authored-by: Fabi <[email protected]>

* Update console/src/assets/i18n/it.json

Co-authored-by: Fabi <[email protected]>

* Update console/src/assets/i18n/fr.json

Co-authored-by: Fabi <[email protected]>

* fix zh i18n text

* fix projection table name

Co-authored-by: Fabi <[email protected]>
2022-10-06 13:30:14 +02:00