374 Commits
Author SHA1 Message Date
Livio SpringandGitHub 458a383de2 fix: use current sequence for refetching of events (#5772)
* fix: use current sequence for refetching of events

* fix: use client ids
2023-04-28 16:28:13 +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
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
8141d902b8 fix: delete org project mapping by grant id (#5607)
* fix: delete org project mapping by grant id

* fix: check for project on authentication using projections

* fix tests

---------

Co-authored-by: Livio Spring <[email protected]>
2023-04-06 05:46:12 +00:00
Livio SpringandGitHub 23e6cc325e fix: update correct current sequence for refresh tokens (#5608) 2023-04-05 21:31:51 +02:00
SilvanandGitHub dd84b93ac3 fix(token): filter users by instance id (#5596)
* fix(token): filter users by instance id
2023-04-03 12:56:37 +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
25c3c17986 chore: upgrade to oidc v2 release (#5437)
* chore: upgrade to oidc v2 release

* fix tests

* fix build errors after rebase

* pin oidc v2.1.0

* pin oidc v2.1.1 (include bugfix)

* pin oidc v2.1.2 (include bugfix)

* pin oidc v2.2.1 (bugfix)

include fix zitadel/oidc#349

* fix: refresh token handling

* simplify cognitive complexity

* fix: handle error

---------

Co-authored-by: Livio Spring <[email protected]>
2023-03-28 11:28:56 +00: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
Livio SpringandGitHub a8a2edadc2 fix: use correct resource owner in checkExternalUserLogin (#5457) 2023-03-16 13:14:08 +00:00
SilvanandGitHub eb4f7c5d7c fix(auth): update user grants before check (#5406) 2023-03-13 08:03:49 +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
SilvanandGitHub e38abdcdf3 perf: query data AS OF SYSTEM TIME (#5231)
Queries the data in the storage layser at the timestamp when the call hit the API layer
2023-02-27 22:36:43 +01:00
SilvanandGitHub 71bd19d690 fix: login name case insensitive (#5032)
checks for login names case insensitive during login
2023-01-16 13:07:31 +00:00
0530f19d94 feat: allow usernames without @ when UserMustBeDomain false (#4852)
* feat: allow usernames without @ when UserMustBeDomain false

* e2e

* test(e2e): table driven tests for humans and machines

* cleanup

* fix(e2e): ensure there are no username conflicts

* e2e: make awaitDesired async

* rm settings mapping

* e2e: make awaitDesired async

* e2e: parse sequence as int

* e2e: ensure test fails if awaitDesired fails

Co-authored-by: Max Peintner <[email protected]>
2022-12-22 11:16:17 +00:00
c5ebeea590 fix: compute usernames in auth views correctly after domain policy change (#4860)
* fix: compute usernames in auth views correctly after domain policy change

* userloginmustbedomain hint

Co-authored-by: Max Peintner <[email protected]>
2022-12-09 12:10:20 +00:00
a3f15d8213 fix: corrected statement to when an init code has to be sent (#4817)
* fix: corrected statement to when an init code has to be sent

* fix: corrected statement to when an init code has to be sent

* fix: corrected statement to when an init code has to be sent

* fix: add init code to user handle for auth.users2

Co-authored-by: Livio Spring <[email protected]>
2022-12-07 11:16:01 +00:00
f3e6f3b23b feat: remove org (#4148)
* feat(command): remove org

* refactor: imports, unused code, error handling

* reduce org removed in action

* add org deletion to projections

* add org removal to projections

* add org removal to projections

* org removed projection

* lint import

* projections

* fix: table names in tests

* fix: table names in tests

* logging

* add org state

* fix(domain): add Owner removed to object details

* feat(ListQuery): add with owner removed

* fix(org-delete): add bool to functions to select with owner removed

* fix(org-delete): add bools to user grants with events to determine if dependencies lost owner

* fix(org-delete): add unit tests for owner removed and org removed events

* fix(org-delete): add handling of org remove for grants and members

* fix(org-delete): correction of unit tests for owner removed

* fix(org-delete): update projections, unit tests and get functions

* fix(org-delete): add change date to authnkeys and owner removed to org metadata

* fix(org-delete): include owner removed for login names

* fix(org-delete): some column fixes in projections and build for queries with owner removed

* indexes

* fix(org-delete): include review changes

* fix(org-delete): change user projection name after merge

* fix(org-delete): include review changes for project grant where no project owner is necessary

* fix(org-delete): include auth and adminapi tables with owner removed information

* fix(org-delete): cleanup username and orgdomain uniqueconstraints when org is removed

* fix(org-delete): add permissions for org.remove

* remove unnecessary unique constraints

* fix column order in primary keys

* fix(org-delete): include review changes

* fix(org-delete): add owner removed indexes and chang setup step to create tables

* fix(org-delete): move PK order of instance_id and change added user_grant from review

* fix(org-delete): no params for prepareUserQuery

* change to step 6

* merge main

* fix(org-delete): OldUserName rename to private

* fix linting

* cleanup

* fix: remove org test

* create prerelease

* chore: delete org-delete as prerelease

Co-authored-by: Stefan Benz <[email protected]>
Co-authored-by: Livio Spring <[email protected]>
Co-authored-by: Fabi <[email protected]>
Co-authored-by: Stefan Benz <[email protected]>
2022-11-30 17:01:17 +01:00
062887269b fix(login): check user state before ignoreUnknownUsernames setting (#4759)
Co-authored-by: Fabi <[email protected]>
2022-11-24 09:13:19 +00:00
Livio SpringandGitHub e8babf1048 fix: reduce load on view tables (#4716)
* fix: reduce load on view tables

* create prerelease

* linting: pass context to view handlers

* fix error handling of refresh token handler

* fix: improve processing of successful instanceIDs on views

* fix revert intended change in .golangci.yaml

* fix: set timeout for processInstances in spooler

* fix: reduce update to active tokens on profile change

* change token expiration query to db now()

* remove branch from .releaserc.js
2022-11-22 07:36:48 +01:00
Livio SpringandGitHub d721f725fd fix: instance remove (#4602) 2022-10-26 13:06:48 +00:00
27e7dc68a8 feat: allow disabling the mfa setup prompt (#4575)
* feat: allow disabling the mfa setup prompt

* e2e: disable mfa prompt

Co-authored-by: Max Peintner <[email protected]>
2022-10-26 10:20:01 +02:00
Livio SpringandGitHub 3270a94291 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
2022-10-18 14:48:26 +00:00
Livio SpringandGitHub b0b1e94090 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
2022-10-17 19:19:15 +00:00
Livio SpringandGitHub 6daf44a34a fix: clear potentially existing user information on auth request for domain discovery (#4528) 2022-10-11 11:12:07 +02:00
Livio SpringandGitHub 3b03ad82bf fix: registration allowed check and pass loginname to registration (#4507) 2022-10-07 12:17:17 +00:00
Livio SpringandGitHub d775020a32 fix: login for initial users (#4506) 2022-10-07 13:56:50 +02: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
7dfa1925cc feat: restrict login to specific org by id (scope) (#4294)
* feat: add new org scope

* change default of UserLoginMustBeDomain to false

* return resource owner claims

* fix: use email style for first user

* fix: ensure email style for default users (backwards compatibility)

* change to external domain (as it was before UserLoginMustBeDomain change)

* update e2e tests to use email style usernames

* document new scope

* lint e2e

Co-authored-by: Fabi <[email protected]>
2022-09-23 12:08:10 +00:00
84b20bc4e1 fix(auth): always get token by id and user id (#4371)
Co-authored-by: Florian Forster <[email protected]>
2022-09-15 12:59:40 +00:00
Stefan BenzandGitHub 7a5f7f82cf feat(saml): implementation of saml for ZITADEL v2 (#3618) 2022-09-12 18:18:08 +02:00
Livio SpringandGitHub 47930c6a85 fix: handle instanceID correctly in auth projections (#4252) 2022-08-25 13:38:35 +00:00
Livio SpringandGitHub cc612fed07 fix: trim spaces for usernames and organization names (#4217) 2022-08-19 15:00:14 +02:00
Livio SpringandGitHub d620126aab fix: handle nil pointer when login hint is invalid (#4066)
* fix: handle nil pointer when login hint is invalid

* mention encoding for login_hint
2022-07-28 14:11:10 +02:00
aed7010508 fix: scheduling (#3978)
* fix: improve scheduling

* build pre-release

* fix: locker

* fix: user handler and print stack in case of panic in reducer

* chore: remove sentry

* fix: improve handler projection and implement tests

* more tests

* fix: race condition in tests

* Update internal/eventstore/repository/sql/query.go

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

* fix: implemented suggested changes

* fix: lock statement

Co-authored-by: Silvan <[email protected]>
2022-07-22 10:08:39 +00:00
9271623ec9 fix: load auth users (#3907)
* fix: load auth users

* fix: add triggerbulk

* fix: build pre-release

* fix even more french translations

* fix: build version

Co-authored-by: Livio Spring <[email protected]>
2022-07-07 14:58:00 +02:00
Livio SpringandGitHub 8434eaa9c0 fix: require user verification for passwordless authentication (#3896) 2022-07-06 08:32:05 +02:00
Livio SpringandGitHub 1b4740c78f fix: primary domain scope (handle context correctly) (#3872) 2022-06-27 09:24:23 +02:00
SilvanandGitHub e1cfc242ab fix(auth): read user if not found after create (#3835) 2022-06-16 13:06:17 +00:00
dd2f31683c fix(query): realtime data on defined requests (#3726)
* feat: directly specify factors on addCustomLoginPolicy and return on LoginPolicy responses

* fix proto

* update login policy

* feat: directly specify idp on addCustomLoginPolicy and return on LoginPolicy responses

* fix: tests

* fix(projection): trigger bulk

* refactor: clean projection pkg

* instance should bulk

* fix(query): should trigger bulk on id calls

* tests

* build prerelease

* fix: add shouldTriggerBulk

* fix: test

Co-authored-by: Livio Amstutz <[email protected]>
Co-authored-by: Max Peintner <[email protected]>
2022-06-14 07:51:00 +02:00
6bd5799770 fix: idp styling (#3797)
* fix: idp styling

* escape idp a color

* elevation on hover

* css gen

Co-authored-by: Max Peintner <[email protected]>
2022-06-10 13:17:33 +00:00
Livio SpringandGitHub 7b0f0b81a3 fix: set instanceID correctly in org project mapping (#3789) 2022-06-10 13:12:07 +00:00
Livio SpringandGitHub 7f34ce1891 fix: allow project grants without roles in database (#3786) 2022-06-09 11:48:54 +02:00
Livio AmstutzandGitHub da1f74fde0 fix: update user sessions after avatar or primary domain change (#3768) 2022-06-03 12:37:24 +00:00
Livio AmstutzandGitHub 0baaaf8a05 fix: handle default org id (#3769) 2022-06-03 14:30:39 +02:00
Livio AmstutzandGitHub 41d78ef523 fix: return absolute url for avatar in user sessions (#3724)
* fix: return absolute url for avatar in user sessions

* fix: refresh token unique constraint
2022-05-30 11:27:52 +00:00
09b021b257 feat: Configurable Unique Machine Identification (#3626)
* feat: Configurable Unique Machine Identification

This change fixes Segfault on AWS App Runner with v2 #3625

The change introduces two new dependencies:

* github.com/drone/envsubst for supporting AWS ECS, which has its metadata endpoint described by an environment variable
* github.com/jarcoal/jpath so that only relevant data from a metadata response is used to identify the machine.

The change ads new configuration (see `defaults.yaml`):

* `Machine.Identification` enables configuration of how machines are uniquely identified - I'm not sure about the top level category `Machine`, as I don't have anything else to add to it. Happy to hear suggestions for better naming or structure here.
* `Machine.Identifiation.PrivateId` turns on or off the existing private IP based identification. Default is on.
* `Machine.Identification.Hostname` turns on or off using the OS hostname to identify the machine. Great for most cloud environments, where this tends to be set to something that identifies the machine uniquely. Enabled by default.
* `Machine.Identification.Webhook` configures identification based on the response to an HTTP GET request.  Request headers can be configured, a JSONPath can be set for processing the response (no JSON parsing is done if this is not set), and the URL is allowed to contain environment variables in the format `"${var}"`.

The new flow for getting a unique machine id is:

1. PrivateIP (if enabled)
2. Hostname (if enabled)
3. Webhook (if enabled, to configured URL)
4. Give up and error out.

It's important that init configures machine identity first. Otherwise we could try to get an ID before configuring it. To prevent this from causing difficult to debug issues, where for example the default configuration was used, I've ensured that
the application will generate an error if the module hasn't been configured and you try to get an ID.

Misc changes:

* Spelling and gramatical corrections to `init.go::New()` long description.
* Spelling corrections to `verify_zitadel.go::newZitadel()`.
* Updated `production.md` and `development.md` based on the new build process. I think the run instructions are also out of date, but I'll leave that for someone else.
* `id.SonyFlakeGenerator` is now a function, which sets `id.sonyFlakeGenerator`, this allows us to defer initialization until configuration has been read.

* Update internal/id/config.go

Co-authored-by: Alexei-Barnes <[email protected]>

* Fix authored by @livio-a for tests

Co-authored-by: Livio Amstutz <[email protected]>
2022-05-24 16:57:57 +02:00
411d7c6c5c 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 <[email protected]>

* remove wonrgly cherry picked migration

Co-authored-by: Max Peintner <[email protected]>
2022-05-16 13:39:09 +00:00
Livio AmstutzandGitHub f1fa74a2c0 fix: loginnames in login and mails (eventstore v1 queries) (#3636)
* fix: loginnames in login and mails (eventstore v1 queries)

* fix: loginnames in login and mails (eventstore v1 queries)
2022-05-16 13:10:10 +00:00
fa9f581d56 chore(v2): move to new org (#3499)
* chore: move to new org

* logging

* fix: org rename caos -> zitadel

Co-authored-by: adlerhurst <[email protected]>
2022-04-26 23:01:45 +00:00