Commit Graph

15 Commits

Author SHA1 Message Date
Livio Spring
14e2aba1bc
feat: Add Twilio Verification Service (#8678)
# Which Problems Are Solved
Twilio supports a robust, multi-channel verification service that
notably supports multi-region SMS sender numbers required for our use
case. Currently, Zitadel does much of the work of the Twilio Verify (eg.
localization, code generation, messaging) but doesn't support the pool
of sender numbers that Twilio Verify does.

# How the Problems Are Solved
To support this API, we need to be able to store the Twilio Service ID
and send that in a verification request where appropriate: phone number
verification and SMS 2FA code paths.

This PR does the following: 
- Adds the ability to use Twilio Verify of standard messaging through
Twilio
- Adds support for international numbers and more reliable verification
messages sent from multiple numbers
- Adds a new Twilio configuration option to support Twilio Verify in the
admin console
- Sends verification SMS messages through Twilio Verify
- Implements Twilio Verification Checks for codes generated through the
same

# Additional Changes

# Additional Context
- base was implemented by @zhirschtritt in
https://github.com/zitadel/zitadel/pull/8268 ❤️
- closes https://github.com/zitadel/zitadel/issues/8581

---------

Co-authored-by: Zachary Hirschtritt <zachary.hirschtritt@klaviyo.com>
Co-authored-by: Joey Biscoglia <joey.biscoglia@klaviyo.com>
2024-09-26 09:14:33 +02:00
Miguel Cabrerizo
b3a60863f5
feat(console): replace secret generator dialogs with cards (#8307) 2024-07-18 05:33:10 +00:00
Livio Spring
53d47dc87f
docs: add password expiry (#8241)
# Which Problems Are Solved

Adds the missing documentation to the password expiry policy added in
#8132.

# Additional Context

- relates to #8132
2024-07-04 13:01:22 +00:00
Miguel Cabrerizo
3635320ce8
feat: send test mail (#7968)
# Which Problems Are Solved

- Zitadel doesn't have a way to test SMTP settings either before
creating a new provider or once the SMTP provider has been created.
- Zitadel SMTP messages can be more informative for usual errors

# How the Problems Are Solved

- A new step is added to the new/update SMTP provider wizard that allows
us to test a configuration. The result is shown in a text area.
- From the table of SMTP providers you can test your settings too.
- The email address to send the email is by default the email address
for the logged in user as suggested.
- Some of the SMTP error messages have been changed to give more
information about the possible situation. For example: could not contact
with the SMTP server, check the port, firewall issues... instead of
could not dial

Here's a video showing this new option in action:


https://github.com/zitadel/zitadel/assets/30386061/50128ba1-c9fa-4481-8eec-e79a3ca69bda

# Additional Changes

Replace this example text with a concise list of additional changes that
this PR introduces, that are not directly solving the initial problem
but are related.
For example:
- The docs explicitly describe that the property XY is mandatory
- Adds missing translations for validations.

# Additional Context

- Closes #4504
2024-06-20 19:51:42 +00:00
Miguel Cabrerizo
15d5338b91
feat(cnsl): docs link can be customized and custom button is available (#7840)
* feat: customize doc link and additional custom link

* feat: add e2e tests

* fix: update docs

* fix: add @peintnermax changes about cache

* fix: golangci-lint complains preparation.PrepareCommands

---------

Co-authored-by: Max Peintner <max@caos.ch>
2024-05-13 16:01:50 +02:00
Miguel Cabrerizo
d229da6af7
feat: SMTP Templates (#6932)
* feat: smtp templates poc

* feat: add isActive & ProviderType to SMTP backend

* feat: change providertype to uint32 and fix tests

* feat: minimal smtp provider component

* feat: woking on diiferent providers

* feat: keep working on providers

* feat: initial stepper for new provider

* fix: settings list and working on stepper

* feat: step 1 and 2 form inputs

* feat: starter for smtp test step

* fix: misspelled SMPT

* fix: remove tests for now

* feat: add tls toggle remove old google provider

* feat: working on add smtp and table

* fix: duplicated identifiers

* fix: settings list

* fix: add missing smtp config properties

* fix: add configID to smtp config table

* fix: working on listproviders

* feat: working in listSMTPConfigs

* fix: add count to listsmtpconfigs

* fix: getting empty results from listSMTPConfigs

* feat: table now shows real data

* fix: remaining styles for smtp-table

* fix: remove old notification-smtp-provider-component

* feat: delete smtp configuration

* feat: deactivate smtp config

* feat: replace isActive with state for smtp config

* feat: activate smtp config

* fix: remaining errors after main merge

* fix: list smtp providers panic and material mdc

* feat: refactor to only one provider component

* feat: current provider details view

* fix: refactor AddSMTPConfig and ChangeSMTPConfig

* fix: smtp config reduce issue

* fix: recover domain in NewIAMSMTPConfigWriteModel

* fix: add code needed by SetUpInstance

* fix: go tests and warn about passing context to InstanceAggregateFromWriteModel

* fix: i18n and add missing trans for fr, it, zh

* fix: add e2e tests

* docs: add smtp templates

* fix: remove provider_type, add description

* fix: remaining error from merge main

* fix: add @stebenz change for primary key

* fix: inactive placed after removed to prevent deleted configs to show as inactive

* fix: smtp provider id can be empty (migrated)

* feat: add mailchimp transactional template

* feat: add Brevo (Sendinblue) template

* feat: change brevo logo, add color to tls icon

* fix: queries use resourceowner, id must not be empty

* fix: deal with old smtp settings and tests

* fix: resourceOwner is the instanceID

* fix: remove aggregate_id, rename SMTPConfigByAggregateID with SMTPConfigActive

* fix: add tests for multiple configs with different IDs

* fix: conflict

* fix: remove notification-smtp-provider

* fix: add @peintnermax suggestions, rename module and fix e2e tests

* fix: remove material legacy modules

* fix: remove ctx as parameter for  InstanceAggregateFromWriteModel

* fix: add Id to SMTPConfigToPb

* fix:  change InstanceAggregateFromWriteModel to avoid linter errors

* fix import

* rm unused package-lock

* update yarn lock

---------

Co-authored-by: Elio Bischof <elio@zitadel.com>
Co-authored-by: Max Peintner <max@caos.ch>
Co-authored-by: Stefan Benz <46600784+stebenz@users.noreply.github.com>
2024-04-11 09:16:10 +02:00
Livio Spring
153df2e12f
feat: provide option to limit (T)OTP checks (#7693)
* feat: provide option to limit (T)OTP checks

* fix requests in console

* update errors pkg

* cleanup

* cleanup

* improve naming of existing config
2024-04-10 09:14:55 +00:00
Max Peintner
ca49e0f532
fix(console): simplify instance page (#7274)
* move settings, rm nav for single org

* move instance pages to settings

* i18n

* revalidate orgs on create

* Update bg.json

* show custome portal link

* Update console/src/app/modules/settings-list/settings.ts

Co-authored-by: Livio Spring <livio.a@gmail.com>

* Update console/src/app/modules/settings-list/settings.ts

Co-authored-by: Livio Spring <livio.a@gmail.com>

* Update console/src/app/modules/settings-list/settings.ts

Co-authored-by: Livio Spring <livio.a@gmail.com>

* add org page to instance settings

* iam.read for org list

* i18n

* instance imgs, cleanup

* rm unused imgs

* remove unused imgs, replace default settings imgs

* event image

* e2e url

* instance url

---------

Co-authored-by: Livio Spring <livio.a@gmail.com>
2024-02-06 14:35:43 +01:00
Elio Bischof
d639c5200a
feat: manage restrictions in console (#6965)
* feat: return 404 or 409 if org reg disallowed

* fix: system limit permissions

* feat: add iam limits api

* feat: disallow public org registrations on default instance

* add integration test

* test: integration

* fix test

* docs: describe public org registrations

* avoid updating docs deps

* fix system limits integration test

* silence integration tests

* fix linting

* ignore strange linter complaints

* review

* improve reset properties naming

* redefine the api

* use restrictions aggregate

* test query

* simplify and test projection

* test commands

* fix unit tests

* move integration test

* support restrictions on default instance

* also test GetRestrictions

* self review

* lint

* abstract away resource owner

* fix tests

* configure supported languages

* fix allowed languages

* fix tests

* default lang must not be restricted

* preferred language must be allowed

* change preferred languages

* check languages everywhere

* lint

* test command side

* lint

* add integration test

* add integration test

* restrict supported ui locales

* lint

* lint

* cleanup

* lint

* allow undefined preferred language

* fix integration tests

* update main

* fix env var

* ignore linter

* ignore linter

* improve integration test config

* reduce cognitive complexity

* compile

* fix(console): switch back to saved language

* feat(API): get allowed languages

* fix(console): only make allowed languages selectable

* warn when editing not allowed languages

* feat: manage restrictions in console

* check for duplicates

* remove useless restriction checks

* review

* revert restriction renaming

* manage languages

* fix language restrictions

* lint

* generate

* allow custom texts for supported langs for now

* fix tests

* cleanup

* cleanup

* cleanup

* lint

* unsupported preferred lang is allowed

* fix integration test

* allow unsupported preferred languages

* lint

* fix languages lists

* simplify default language selection

* translate

* discard

* lint

* load languages for tests

* load languages

* lint

* cleanup

* lint

* cleanup

* get allowed only on admin

* cleanup

* reduce flakiness on very limited postgres

* simplify langSvc

* refactor according to suggestions in pr

* lint

* improve ux

* update central allowed languages

* set first allowed language as default

* readd lost translations

* disable sorting disallowed languages

* fix permissions

* lint

* selectionchange for language in msg texts

* initialize login texts

* init message texts

* lint

* fix drag and drop list styles

* start from 1

* cleanup

* prettier

* correct orgdefaultlabel

* unsubscribe

* lint

* docs: describe language settings

---------

Co-authored-by: peintnermax <max@caos.ch>
2023-12-07 12:31:01 +00:00
mffap
b9061ffadc
docs(guides): update development mode for console guide (#6799)
* docs(guide): development mode

* finished

---------

Co-authored-by: Fabi <fabienne@zitadel.com>
Co-authored-by: Livio Spring <livio.a@gmail.com>
Co-authored-by: Tim Möhlmann <tim+github@zitadel.com>
2023-10-25 18:15:42 +00:00
Miguel Cabrerizo
8c68f8ed3a
feat(console): only use one save button in SMTP Settings (#6561)
seperate smtp settings from notification providers
2023-10-09 11:14:17 +00:00
Miguel Cabrerizo
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
mffap
0aaaf209be
docs(manage): update instance settings (#5421)
* docs(manage): update instance settings

* password reset

* disable email

* phone number

* Apply suggestions from code review

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

---------

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>
2023-03-15 07:09:07 +00:00
Stefan Benz
19621acfd3
feat: add notification policy and password change message (#5065)
Implementation of new notification policy with functionality to send email when a password is changed
2023-01-25 09:49:41 +01:00
Max Peintner
a4bbc756d8
docs: console guide (#4468)
* console guide

* org

* orgs, projects

* applications

* project, roles, authz

* users, roles

* app config, imgs

* policy imgs

* users, metadata, imgs

* actions, projects, structure

* css

* rm overview component

* rm manager from sidebar

* fix some broken links, update 🦖

* fix broken links

* fix img shadow

* Update docs/docs/concepts/structure/applications.md

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* policy link

* link to projects guide

* Update docs/docs/guides/integrate/application/review-config.mdx

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* add external org authz guide

* Update docs/docs/guides/manage/console/users.mdx

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* link to example

* readd manager structure

* punto

* docs: domain settings email as username

* docs: links

* project, application settings, screenshots

* Update docs/docs/guides/manage/console/instance-settings.mdx

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* Update docs/docs/guides/manage/console/instance-settings.mdx

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* Update docs/docs/guides/manage/console/instance-settings.mdx

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* Update docs/docs/guides/manage/console/instance-settings.mdx

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* Update docs/docs/guides/manage/console/instance-settings.mdx

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* Update docs/docs/guides/manage/console/instance-settings.mdx

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* Update docs/docs/guides/manage/console/instance-settings.mdx

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* Update docs/docs/guides/manage/console/instance-settings.mdx

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* Update docs/docs/guides/manage/console/instance-settings.mdx

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* Update docs/docs/guides/manage/console/organizations.mdx

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* iam role

* Update docs/docs/guides/manage/console/managers.mdx

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* Update docs/docs/guides/manage/console/managers.mdx

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* change username text

* Update docs/docs/guides/manage/console/roles.mdx

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* link example

* branding changes

* Update docs/docs/guides/manage/console/organizations.mdx

good point 👍

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>

* docs: loginnames

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>
Co-authored-by: Fabienne <fabienne.gerschwiler@gmail.com>
2022-10-06 16:22:46 +02:00