diff --git a/docs/docs/apis/openidoauth/endpoints.mdx b/docs/docs/apis/openidoauth/endpoints.mdx index a9db7ffac..59f03ef05 100644 --- a/docs/docs/apis/openidoauth/endpoints.mdx +++ b/docs/docs/apis/openidoauth/endpoints.mdx @@ -569,7 +569,7 @@ curl --request POST \ The endpoint has to be opened in the user agent (browser) to terminate the user sessions. -No parameters are needed apart from the user agent cookie, but you can provide the following to customize the behaviour: +No parameters are needed apart from the user agent cookie, but you can provide the following to customize the behavior: | Parameter | Description | | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------- | diff --git a/docs/docs/examples/secure-api/java-spring.md b/docs/docs/examples/secure-api/java-spring.md index c545f13c2..035d749a0 100644 --- a/docs/docs/examples/secure-api/java-spring.md +++ b/docs/docs/examples/secure-api/java-spring.md @@ -38,7 +38,7 @@ If your starting from scratch, you can use the Spring Initializer with the [foll ### Support class To be able to take the most out of ZITADELs RBAC, we first need to create a CustomAuthorityOpaqueTokenIntrospector, that will -customize the introspection behaviour and map the role claims (`urn:zitadel:iam:org:project:roles`) +customize the introspection behavior and map the role claims (`urn:zitadel:iam:org:project:roles`) into Spring Security `authiorities`, which can be used later on to determine the granted permissions. So in your application, create a `support/zitadel` package and in there the `CustomAuthorityOpaqueTokenIntrospector.java`: diff --git a/docs/docs/guides/integrate/identity-providers/_prefill_action.mdx b/docs/docs/guides/integrate/identity-providers/_prefill_action.mdx index a63a3fcb4..a27e5b035 100644 --- a/docs/docs/guides/integrate/identity-providers/_prefill_action.mdx +++ b/docs/docs/guides/integrate/identity-providers/_prefill_action.mdx @@ -1,4 +1,3 @@ -import CodeBlock from '@theme/CodeBlock';
You can use a ZITADEL action if you want to prefill the fields {props.fields} with {props.provider} data.
diff --git a/docs/docs/guides/integrate/identity-providers/additional-information.mdx b/docs/docs/guides/integrate/identity-providers/additional-information.mdx new file mode 100644 index 000000000..6231a3b89 --- /dev/null +++ b/docs/docs/guides/integrate/identity-providers/additional-information.mdx @@ -0,0 +1,15 @@ +--- +title: Additional Information +sidebar_label: Additional Information +--- + +## Automatically prefill user data + +import PrefillAction from './_prefill_action.mdx'; + +
\ No newline at end of file
diff --git a/docs/docs/guides/manage/console/_create-user.mdx b/docs/docs/guides/manage/console/_create-user.mdx
new file mode 100644
index 000000000..1071690af
--- /dev/null
+++ b/docs/docs/guides/manage/console/_create-user.mdx
@@ -0,0 +1,27 @@
+To create a new user, go to Users and click on **New**. Enter the required contact details and save by clicking “Create”.
+
+import Tabs from "@theme/Tabs";
+import TabItem from "@theme/TabItem";
+
+
+
+
diff --git a/docs/docs/guides/manage/console/actions.mdx b/docs/docs/guides/manage/console/actions.mdx
index 67e16c118..1d72582f5 100644
--- a/docs/docs/guides/manage/console/actions.mdx
+++ b/docs/docs/guides/manage/console/actions.mdx
@@ -23,4 +23,4 @@ This could for example be a **External Authentication** Flow, with a **Post Auth
Now whenever a user gets authenticated externally with an IDP, a action is triggered after the authentication itself.
-If you want to know more where actions can be useful, take a look at the feature [here](/concepts/features/actions) or directly jump to an example of a custom behaviour [here](/guides/manage/customize/behavior).
+If you want to know more where actions can be useful, take a look at the feature [here](/concepts/features/actions) or directly jump to an example of a custom behavior [here](/guides/manage/customize/behavior).
diff --git a/docs/docs/guides/manage/console/instance-settings.mdx b/docs/docs/guides/manage/console/instance-settings.mdx
index 68e3e9a96..0d00b9e0e 100644
--- a/docs/docs/guides/manage/console/instance-settings.mdx
+++ b/docs/docs/guides/manage/console/instance-settings.mdx
@@ -3,7 +3,7 @@ title: ZITADEL Instance Settings
sidebar_label: Instance Settings
---
-Instance settings work as default or fallback settings for your organizational settings. Most of the time you only have to set instance settings for the cases where you don't need specific behaviour in the organizations themselves or you only have one organization.
+Instance settings work as default or fallback settings for your organizational settings. Most of the time you only have to set instance settings for the cases where you don't need specific behavior in the organizations themselves or you only have one organization.
To access instance settings, use the instance page at `{instanceDomain}/ui/console/settings` or click at the instance button on the **top-right** of the page and then navigate to settings in the navigation.
@@ -17,7 +17,7 @@ When you configure your instance, you can set the following:
- **General**: Default Language for the UI
- [**Notification settings**](#notification-providers-and-smtp): Notification and Email Server settings, so initialization-, verification- and other mails are sent from your own domain. For SMS, Twilio is supported as notification provider.
-- [**Login Behaviour and Access**](#login-behaviour-and-access): Multifactor Authentication Options and Enforcement, Define whether Passwordless authentication methods are allowed or not, Set Login Lifetimes and advanced behavour for the login interface.
+- [**Login Behavior and Access**](#login-behavior-and-access): Multifactor Authentication Options and Enforcement, Define whether Passwordless authentication methods are allowed or not, Set Login Lifetimes and advanced behavour for the login interface.
- [**Identity Providers**](#identity-providers): Define IDPs which are available for all organizations
- [**Password Complexity**](#password-complexity): Requirements for Passwords ex. Symbols, Numbers, min length and more.
- [**Lockout**](#lockout): Set the maximum attempts a user can try to enter the password. When the number is exceeded, the user gets locked out and has to be unlocked.
@@ -43,7 +43,7 @@ In the Branding settings, you can upload you Logo for the login interface, set y
| Icon | Upload your icon for the light and the dark design. Icons are used for smaller components. For example in console on the top left as the home button. |
| Colors | You can set four different colors to design your login page and email. (Background-, Primary-, Warn- and Font Color) |
| Font | Upload your custom font |
-| Advanced Behaviour | **Hide Loginname suffix**: If enabled, your loginname suffix (Domain) will not be shown in the login page. **Disable Watermark**: If you disable the watermark you will not see the "Powered by ZITADEL" in the login page |
+| Advanced Behavior | **Hide Loginname suffix**: If enabled, your loginname suffix (Domain) will not be shown in the login page. **Disable Watermark**: If you disable the watermark you will not see the "Powered by ZITADEL" in the login page |
Make sure you click the "Apply configuration" button after you finish your configuration. This will ensure your design is visible for your customers.
@@ -86,7 +86,7 @@ No default provider is configured to send some SMS to your users. If you like to
-## Login Behaviour and Access
+## Login Behavior and Access
The Login Policy defines how the login process should look like and which authentication options a user has to authenticate.
diff --git a/docs/docs/guides/manage/console/managers.mdx b/docs/docs/guides/manage/console/managers.mdx
index e4b9d09e6..f71bc5698 100644
--- a/docs/docs/guides/manage/console/managers.mdx
+++ b/docs/docs/guides/manage/console/managers.mdx
@@ -12,12 +12,10 @@ In the right part of the console you can finde **MANAGERS** in the details part.
-When adding a new manager, you can select multiple roles some of which are only allowed to read data.
-This can be especially useful if you add service users for one of your projects where you only need read access.
+import AddManager from "./_add_manager.mdx";
-Per default you will only search for users within the selected organization. If you like to give a role to a user outside the organization you need to switch to the global search and type the exact loginname of the users. This will prevent allowing users to guess users from other organizations.
+
## Roles
diff --git a/docs/docs/guides/manage/console/organizations.mdx b/docs/docs/guides/manage/console/organizations.mdx
index 0e22bea57..077603844 100644
--- a/docs/docs/guides/manage/console/organizations.mdx
+++ b/docs/docs/guides/manage/console/organizations.mdx
@@ -39,7 +39,7 @@ At the moment the username only allows e-mail formatted input. (This will be cha
### User Loginname must contain orgdomain
-If this behaviour is not suitable for you, ZITADEL has the option to suffix the usernames with the organization domain.
+If this behavior is not suitable for you, ZITADEL has the option to suffix the usernames with the organization domain.
This setting is called **User Loginname must contain orgdomain** and is part of your [Domain settings](./instance-settings#domain-settings).
Those loginnames consist of the format `{username}@{domainname}.{zitadeldomain}`.
@@ -105,7 +105,7 @@ Those settings are the same as on your instance.
> Note: that the following links, redirect to instance settings to omit redundancy.
-- [**Login Behaviour and Access**](./instance-settings#login-behaviour-and-access): Multifactor Authentication Options and Enforcement, Define whether Passwordless authentication methods are allowed or not, Set Login Lifetimes and advanced behavour for the login interface.
+- [**Login Behavior and Access**](./instance-settings#login-behaviour-and-access): Multifactor Authentication Options and Enforcement, Define whether Passwordless authentication methods are allowed or not, Set Login Lifetimes and advanced behavour for the login interface.
- [**Identity Providers**](./instance-settings#identity-providers): Define IDPs which are available for all organizations
- [**Password Complexity**](./instance-settings#password-complexity): Requirements for Passwords ex. Symbols, Numbers, min length and more.
- [**Lockout**](./instance-settings#lockout): Set the maximum attempts a user can try to enter the password. When the number is exceeded, the user gets locked out and has to be unlocked.
@@ -118,7 +118,7 @@ Those settings are the same as on your instance.
If you need custom branding on a organization (for example in a B2B scenario, where organizations are allowed to use their custom design), navigate back to the home page, choose your organization in the header above, navigate to the organization settings and set the custom design here.
-The behaviour of the login page, applyling custom design, is then defined on your projects detail page. Read more about it [here](./projects#branding)
+The behavior of the login page, applying custom design, is then defined on your projects detail page. Read more about it [here](./projects#branding)
## Show Organization Login
diff --git a/docs/docs/guides/manage/console/projects.mdx b/docs/docs/guides/manage/console/projects.mdx
index 75a11da65..c46d907f9 100644
--- a/docs/docs/guides/manage/console/projects.mdx
+++ b/docs/docs/guides/manage/console/projects.mdx
@@ -64,7 +64,7 @@ Organizations can then create authorizations for their users on their own. The p
### Branding
-If you have different designs for your organizations or probably and use project grants, you can define the login behaviour on the project detail page.
+If you have different designs for your organizations or probably and use project grants, you can define the login behavior on the project detail page.
-
-
-
+
+
+2. If you are on the instance level, go to the Organization tab and click the "+ New" button above the Organization list.
+
+
+
+No matter which option you choose you will be redirected to the create organization screen.
+If the setting "Use your personal account as organization owner" is enabled, your user will automatically get the role "ORG_OWNER" in the organization.
+Give the organization a name and create it.
+
+
+
+Click on the newly created organization in the list and you will switch your context to that organization.
+
+### Add First Administrator
+
+Create the first user for your customer and ensure the user has enough permissions to self-manage the needed configuration.
+
+#### Create User
+
+import CreateUser from '/docs/guides/manage/console/_create-user.mdx';
+
+
+
+import AddManager from "/docs/guides/manage/console/_add_manager.mdx";
+
+
+
+## Automated onboarding for your customers
+
+If you want to start automating the process of onboarding your customers the following sections give you some guidance.
+
+### Built-in register organization form
+
+A basic form that allows a customer to enter an organization name and a user account is hosted on the following URL:
+{custom-domain}/ui/login/register/org
+
+When a user registers through this form, an organization and a user are created.
+The user will automatically get the role "ORG_OWNER" withing ZITADEL and is able to manage the whole organization.
+You can read more about the managers, roles and their meanings [here](/docs/guides/manage/console/managers)
+
+
+
+#### Disable built-in register organization form
+
+If you do not want to allow users to register organizations with this form, you can disable it with the following request:
+[Restrict the instance features](/docs/apis/resources/admin/admin-service-set-restrictions)
+
+Disabling the form makes sense, if your administrators manage new customers themselves or if you build your own form.
+
+### Build your own form with setup organization request
+
+If the built-in register form doesn't fulfill your needs we recommend building your own form.
+
+The administration API of ZITADEL, allows you to setup a new organization with a first administrator user.
+The setup organization requests, has the possibility to specify an organization with its name and a domain.
+You can directly send a human user with all the needed information like the profile, email, password. etc.
+This request allows you only to setup a user with password authentication at the moment.
+By specifying the roles you can define, which permission the user should have within ZITADEL.
+Per default the user will automatically get "ORG_OWNER".
+
+
+
+#### Example Request
+
+```bash
+curl -L -X POST 'https://$CUSTOM-DOMAIN/admin/v1/orgs/_setup' \
+-H 'Content-Type: application/json' \
+-H 'Accept: application/json' \
+-H 'Authorization: Bearer
+
+If nothing else is specified, a user will be registered to the default organization.
+
+
+You can specify another organization, by sending the organization scope in the authorization requests.
+By sending the scope below the settings of the specified organization will be triggered and only users of the said organization will be able to authenticate.
+The users will be registered to the given organization.
+```
+urn:zitadel:iam:org:id:{id}
+```
+
+If the user chooses to register a local account, the register form will be shown.
+All the mandatory fields like given name, family name, e-mail and password have to be filled.
+You can only setup authentication with the built-in form.
+
+
+
+#### Registration with Social Login
+
+To allow your users to register with social logins you have to configure the external identity providers.
+If you only need the social logins for your end users and you want to have them all in the organization, we recommend using the default organization for those users.
+In that case you can configure the identity providers on the default organization.
+If you want to have the social logins on different organizations you can configure the default on the instance, and enable it on the needed organizations.
+
+Please follow the configuration guides for the needed providers: [Let Users Login with Preferred Identity Provider in ZITADEL](/docs/guides/integrate/identity-providers)
+
+The configured providers will be shown on the first login screen or when the users click on the registration button, they will be able to choose between local account or the social login.
+
+
+
+#### Registration with Organization External Identity Provider
+
+If your business customer already have an identity provider, and you want to allow SSO for them, you can configure their providers directly for their organization.
+Configure the needed provider such as Azure AD or OKTA.
+
+Please follow the configuration guides for the needed providers: [Let Users Login with Preferred Identity Provider in ZITADEL](/docs/guides/integrate/identity-providers)
+
+import OrgLoginDescription from "./_org_login_description.mdx";
+
+