From b2d208f653c33d3f83c3d01e4df2051dc1691b4f Mon Sep 17 00:00:00 2001 From: wso2 Date: Tue, 29 Aug 2023 09:21:34 +0530 Subject: [PATCH 1/5] fix formatting --- en/docs/deploy/configure-user-stores.md | 48 +++++++------------------ 1 file changed, 13 insertions(+), 35 deletions(-) diff --git a/en/docs/deploy/configure-user-stores.md b/en/docs/deploy/configure-user-stores.md index 65b654f679..d11b77d029 100644 --- a/en/docs/deploy/configure-user-stores.md +++ b/en/docs/deploy/configure-user-stores.md @@ -1,57 +1,35 @@ # Configure Userstores -WSO2 Identity Server allows configuring multiple userstores to your system that -are used to store users and their roles (Groups). Out of the box, WSO2 -Identity Server supports JDBC, LDAP, and Active Directory userstores with the -capability of configuring custom userstores. There are different userstore adapters called *Userstore managers*, which are used to connect -with these userstore types. +WSO2 Identity Server allows configuring multiple userstores to your system that are used to store users and their roles (Groups). Out of the box, WSO2 Identity Server supports JDBC, LDAP, and Active Directory userstores with the capability of configuring custom userstores. There are different userstore adapters called *Userstore managers*, which are used to connect with these userstore types. -There are two types of userstores - Primary Userstore (Mandatory) and -Secondary userstores (Optional). All the supported userstores can be -configured under these two types. +There are two types of userstores - Primary Userstore (Mandatory) and Secondary userstores (Optional). All the supported userstores can be configured under these two types. -![user-store-types]({{base_path}}/assets/img/deploy/user-store-types.png) +![user-store-types]({{base_path}}/assets/img/deploy/user-store-types.png) --- ## Primary userstore (Mandatory) -This is the main user store that is shared among all the -[tenants]({{base_path}}/references/concepts/introduction-to-multitenancy/) -in the system. Only one userstore should be configured as the primary -userstore and it is configured in the -` /repository/conf/deployment.toml ` file. By default, -WSO2 Identity Server uses the embedded H2 database as the primary user store. -It is recommended to change this default configuration in the production +This is the main user store that is shared among all the [tenants]({{base_path}}/references/concepts/introduction-to-multitenancy/) in the system. Only one userstore should be configured as the primary +userstore and it is configured in the `/repository/conf/deployment.toml` file. By default, WSO2 Identity Server uses the embedded H2 database as the primary user store. It is recommended to change this default configuration in the production system. -see, [Configure the Primary Userstore]({{base_path}}/deploy/configure-the-primary-user-store) +Learn more on how to [configure the primary serstore]({{base_path}}/deploy/configure-the-primary-user-store). --- ## Secondary userstore(s) (Optional) -Any number of secondary userstores can be easily set up for your system. -These userstores are specific to the created tenant, and they are -not shared among multiple tenants. -You can use the management console to create secondary userstores or -you can create them manually. These will be stored in an xml file with the -configurations corresponding to the secondary userstore. +Any number of secondary userstores can be easily set up for your system. These userstores are specific to the created tenant, and they are not shared among multiple tenants. You can use the management console to create secondary userstores or you can create them manually. These will be stored in an xml file with the configurations corresponding to the secondary userstore. -see, [Configure a Secondary Userstore]({{base_path}}/deploy/configure-secondary-user-stores) +Learn more on how to [configure a secondary userstore]({{base_path}}/deploy/configure-secondary-user-stores) --- ## Userstore manager -Adapters used to connect with different userstores are called *Userstore Managers*. By default, there are userstore managers for JDBC, -LDAP and Active Directory userstores. If you need to add a new userstore implementation, see [Write a Custom Userstore -Manager]({{base_path}}/references/extend/write-a-custom-user-store-manager). When you configure the -userstore, you have to set the userstore manager class name. - -!!! info - The permissions attached to roles are always stored in an RDBMS. With - the default configurations, permissions are stored in the embedded H2 - database. For information on how to set up a RDBMS repository for - storing permission, see [Configure the Authorization - Manager]({{base_path}}/deploy/configure-the-authorization-manager) +Adapters used to connect with different userstores are called *Userstore Managers*. By default, there are userstore managers for JDBC, LDAP and Active Directory userstores. +If you need to add a new userstore implementation, see [Write a Custom Userstore Manager]({{base_path}}/references/extend/write-a-custom-user-store-manager). When you configure the userstore, you have to set the userstore manager class name. + +!!! info + The permissions attached to roles are always stored in an RDBMS. With the default configurations, permissions are stored in the embedded H2 database. For information on how to set up a RDBMS repository for storing permission, see [Configure the Authorization Manager]({{base_path}}/deploy/configure-the-authorization-manager) From fc430188283384ad805bf7f690df8168340ed989 Mon Sep 17 00:00:00 2001 From: wso2 Date: Tue, 29 Aug 2023 09:56:43 +0530 Subject: [PATCH 2/5] fix typos and writing --- en/docs/deploy/configure-user-stores.md | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/en/docs/deploy/configure-user-stores.md b/en/docs/deploy/configure-user-stores.md index d11b77d029..a3255ae64b 100644 --- a/en/docs/deploy/configure-user-stores.md +++ b/en/docs/deploy/configure-user-stores.md @@ -1,18 +1,17 @@ -# Configure Userstores +# Configure User stores -WSO2 Identity Server allows configuring multiple userstores to your system that are used to store users and their roles (Groups). Out of the box, WSO2 Identity Server supports JDBC, LDAP, and Active Directory userstores with the capability of configuring custom userstores. There are different userstore adapters called *Userstore managers*, which are used to connect with these userstore types. +WSO2 Identity Server allows configuring multiple user stores to your system that are used to store users and their roles (Groups). Out of the box, the WSO2 Identity Server supports JDBC, LDAP, and Active Directory user stores with the capability of configuring custom user stores. Different user store adapters called *Userstore managers are used to connect with these user store types. -There are two types of userstores - Primary Userstore (Mandatory) and Secondary userstores (Optional). All the supported userstores can be configured under these two types. +There are two types of user stores - Primary user stores (Mandatory) and Secondary user stores (Optional). All the supported user stores can be configured under these two types. -![user-store-types]({{base_path}}/assets/img/deploy/user-store-types.png) +![user-store-types]({{base_path}}/assets/img/d eploy/user-store-types.png) --- -## Primary userstore (Mandatory) +## Primary user store (Mandatory) -This is the main user store that is shared among all the [tenants]({{base_path}}/references/concepts/introduction-to-multitenancy/) in the system. Only one userstore should be configured as the primary -userstore and it is configured in the `/repository/conf/deployment.toml` file. By default, WSO2 Identity Server uses the embedded H2 database as the primary user store. It is recommended to change this default configuration in the production -system. +This is the main user store that is shared among all the [tenants]({{base_path}}/references/concepts/introduction-to-multitenancy/) in the system. Only one user store should be configured as the primary +user store, and it is configured in the `/repository/conf/deployment.toml` file. The WSO2 Identity Server uses the embedded H2 database as the primary user store by default. It is recommended to change this default configuration in the production system. Learn more on how to [configure the primary serstore]({{base_path}}/deploy/configure-the-primary-user-store). @@ -20,7 +19,7 @@ Learn more on how to [configure the primary serstore]({{base_path}}/deploy/confi ## Secondary userstore(s) (Optional) -Any number of secondary userstores can be easily set up for your system. These userstores are specific to the created tenant, and they are not shared among multiple tenants. You can use the management console to create secondary userstores or you can create them manually. These will be stored in an xml file with the configurations corresponding to the secondary userstore. +You can easily set up any number of secondary user stores for your system. These user stores are specific to the created tenant and are not shared among multiple tenants. You can use the management console to create secondary user stores or manually create them. These will be stored in an XML file with the configurations corresponding to the secondary store. Learn more on how to [configure a secondary userstore]({{base_path}}/deploy/configure-secondary-user-stores) @@ -28,8 +27,8 @@ Learn more on how to [configure a secondary userstore]({{base_path}}/deploy/conf ## Userstore manager -Adapters used to connect with different userstores are called *Userstore Managers*. By default, there are userstore managers for JDBC, LDAP and Active Directory userstores. -If you need to add a new userstore implementation, see [Write a Custom Userstore Manager]({{base_path}}/references/extend/write-a-custom-user-store-manager). When you configure the userstore, you have to set the userstore manager class name. +*Userstore Managers* are adapters used to connect with different user stores. By default, there are user store managers for JDBC, LDAP, and Active Directory user stores. +If you need to add a new user store implementation, see [Write a Custom Userstore Manager]({{base_path}}/references/extend/write-a-custom-user-store-manager) for more information. When configuring the userstore, you must set the userstore manager class name. !!! info - The permissions attached to roles are always stored in an RDBMS. With the default configurations, permissions are stored in the embedded H2 database. For information on how to set up a RDBMS repository for storing permission, see [Configure the Authorization Manager]({{base_path}}/deploy/configure-the-authorization-manager) + The permissions attached to roles are always stored in an RDBMS. With the default configurations, permissions are stored in the embedded H2 database. For information on how to set up an RDBMS repository for storing permission, see [Configure the Authorization Manager]({{base_path}}/deploy/configure-the-authorization-manager) From d80126c98563f837ff12895ef20a728bc11ca0b4 Mon Sep 17 00:00:00 2001 From: wso2 Date: Thu, 31 Aug 2023 11:06:56 +0530 Subject: [PATCH 3/5] added user store pref order doc --- .../assets/img/deploy/user-store-types.png | Bin 37864 -> 85771 bytes .../configure-user-store-preference-order.md | 41 ++++++++++++++ en/docs/deploy/configure-user-stores.md | 53 +++++++++++++++--- en/mkdocs.yml | 5 +- 4 files changed, 89 insertions(+), 10 deletions(-) create mode 100644 en/docs/deploy/configure-user-store-preference-order.md diff --git a/en/docs/assets/img/deploy/user-store-types.png b/en/docs/assets/img/deploy/user-store-types.png index 3a8abc7e760a8b52a26860bb64613f6d90d3ef98..80dec42fc02a8b0fb038b323f93e32a291ef1b98 100755 GIT binary patch literal 85771 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 literal 37864 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�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 diff --git a/en/docs/deploy/configure-user-store-preference-order.md b/en/docs/deploy/configure-user-store-preference-order.md new file mode 100644 index 0000000000..6518dba5b7 --- /dev/null +++ b/en/docs/deploy/configure-user-store-preference-order.md @@ -0,0 +1,41 @@ +# Configure the user store preference order + +From WSO2 Identity server 5.9.0 onwards, admins can configure the user store preference order for a service provider during the authentication. + +This guide helps you to configure the user store preference order for a service provider. + +## Initial set up + +To set up the WSO2 identity Server to configure the user store preference order: + +1. Implement the `UserStorePreferenceOrderSupplier` interface with your own logic to retrieve the user store order. + + Use the provided template to implement the [UserStorePreferenceOrderSupplier interface](https://github.com/wso2/carbon-kernel/blob/feeae3e4668b805c8d6d5e8c115897fa93b8a856/core/org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/config/UserStorePreferenceOrderSupplier.java?source=post_page-----cdadf43f9366--------------------------------). + +2. Extend ​the `CallBackHandlerFactory` ​interface and create an object of your custom `UserStorePreferenceOrderSupplier`. + + Use the provided template to extend the [CallBackHandlerFactory interface](https://github.com/wso2/carbon-identity-framework/blob/master/components/authentication-framework/org.wso2.carbon.identity.application.authentication.framework/src/main/java/org/wso2/carbon/identity/application/authentication/framework/handler/request/CallBackHandlerFactory.java?source=post_page-----cdadf43f9366--------------------------------). + +3. Add the following configuration to the `/repository/conf/deployment.toml` file to configure the `CallBackHandlerFactory` ​interface. + + ``` + [authentication.framework.extensions] + callback_factory = "org.wso2.carbon.identity.custom.callback.userstore.CustomUserStoreOrderCallbackFactory" + ``` + +4. Restart the WSO2 Identity Server if it's already running. + +## Update the preference order + +To update the preference order: + +1. On the WSO2 Identity Server Management Console, go to **Main** > **Registry** > **Browse** +2. Navigate to **_system** > **config** and click on `userstore-metadata.xml` file. +3. Go to **Properties** and click `+`. The table shows the values obtained from the Following are the details represented in the table. + + | Parameter | Description | + |-----------|---------------| + | Name | Name of the service provider to which the user store preference order is applied. | + | Value | The user store preference order in which the WSO2 Identity Server will authenticate the users logging into the specified service provider. | + +4. Click **Edit** to modify the values. \ No newline at end of file diff --git a/en/docs/deploy/configure-user-stores.md b/en/docs/deploy/configure-user-stores.md index a3255ae64b..f23bc0cab2 100644 --- a/en/docs/deploy/configure-user-stores.md +++ b/en/docs/deploy/configure-user-stores.md @@ -1,14 +1,19 @@ # Configure User stores -WSO2 Identity Server allows configuring multiple user stores to your system that are used to store users and their roles (Groups). Out of the box, the WSO2 Identity Server supports JDBC, LDAP, and Active Directory user stores with the capability of configuring custom user stores. Different user store adapters called *Userstore managers are used to connect with these user store types. +WSO2 Identity Server allows configuring multiple user stores to your system that are used to store users and their roles (Groups). Out of the box, the WSO2 Identity Server supports JDBC, LDAP, and Active Directory user stores with the capability of configuring custom user stores. Different user store adapters called **Userstore managers** are used to connect with these user store types. -There are two types of user stores - Primary user stores (Mandatory) and Secondary user stores (Optional). All the supported user stores can be configured under these two types. +There are two types of user stores: -![user-store-types]({{base_path}}/assets/img/d eploy/user-store-types.png) +- [Primary user stores (Mandatory)](#primary-user-store) +- [Secondary user stores (Optional)](#secondary-user-store) + +All the supported user stores can be configured under these two types. + +![user-store-types]({{base_path}}/assets/img/deploy/user-store-types.png){ width:"350"} --- -## Primary user store (Mandatory) +## Primary user store This is the main user store that is shared among all the [tenants]({{base_path}}/references/concepts/introduction-to-multitenancy/) in the system. Only one user store should be configured as the primary user store, and it is configured in the `/repository/conf/deployment.toml` file. The WSO2 Identity Server uses the embedded H2 database as the primary user store by default. It is recommended to change this default configuration in the production system. @@ -17,7 +22,7 @@ Learn more on how to [configure the primary serstore]({{base_path}}/deploy/confi --- -## Secondary userstore(s) (Optional) +## Secondary user store You can easily set up any number of secondary user stores for your system. These user stores are specific to the created tenant and are not shared among multiple tenants. You can use the management console to create secondary user stores or manually create them. These will be stored in an XML file with the configurations corresponding to the secondary store. @@ -27,8 +32,40 @@ Learn more on how to [configure a secondary userstore]({{base_path}}/deploy/conf ## Userstore manager -*Userstore Managers* are adapters used to connect with different user stores. By default, there are user store managers for JDBC, LDAP, and Active Directory user stores. -If you need to add a new user store implementation, see [Write a Custom Userstore Manager]({{base_path}}/references/extend/write-a-custom-user-store-manager) for more information. When configuring the userstore, you must set the userstore manager class name. +Userstore Managers are adapters used to connect with different user stores. By default, there are user store managers for JDBC, LDAP, and Active Directory user stores. + +If you need to add a new user store implementation, see [write a custom userstore manager]({{base_path}}/references/extend/write-a-custom-user-store-manager) for more information. When configuring the userstore, you must set the userstore manager class name. !!! info - The permissions attached to roles are always stored in an RDBMS. With the default configurations, permissions are stored in the embedded H2 database. For information on how to set up an RDBMS repository for storing permission, see [Configure the Authorization Manager]({{base_path}}/deploy/configure-the-authorization-manager) + The permissions attached to roles are always stored in an RDBMS. With the default configurations, permissions are stored in the embedded H2 database. For information on how to set up an RDBMS repository for storing permission, see [configure the authorization manager]({{base_path}}/deploy/configure-the-authorization-manager) + +## How it works + +When users try to log in to an application with multiple user stores integrated, the following flows happen depending on the method the user provides the username. + +- **If the user specifies the user store domain**: + + 1. The user tries to log into the application by providing credentials with the user store name. + + Example: Username: `PRIMARY/johnd` + + 2. WSO2 Identity Server checks the specified user stores for the availability of the user and authenticates the user. + + Once the user credentials are validated, the user will be able to access the application. + +- **If the user doesn't specify the user store domain**: + + 1. The user tries to log into the application by providing credentials without the user store name. + + Example: Username: `johnd` + + 2. WSO2 Identity Server checks the user stores for the availability of the user and authenticates the user. + + 1. Initially, the identity server checks the user's credentials against the PRIMARY user store, which is the first verification line. + + 2. If the credentials are not validated in the PRIMARY user store, the identity server proceeds to verify the credentials against the configured secondary user stores. + + Once the user credentials are validated, the user will be able to access the application. + + !!! note + Refer to [configure user store preference order]({{base_path}}/deploy/configure-user-store-preference-order.md) if you need to configure a preference order for the user stores when authenticating the users. diff --git a/en/mkdocs.yml b/en/mkdocs.yml index 804ca86034..99d899fbac 100644 --- a/en/mkdocs.yml +++ b/en/mkdocs.yml @@ -382,6 +382,7 @@ nav: - Configure a Read-write LDAP User store: deploy/configure-a-read-write-ldap-user-store.md - Add High Availability for LDAP: deploy/add-high-availability-for-ldap.md - Configure Secondary User stores: deploy/configure-secondary-user-stores.md + - Configure user store preference order: deploy/configure-user-store-preference-order.md #- Carbon Remote User Store Manager: deploy/carbon-remote-user-store-manager.md - Work with Properties of User stores: deploy/work-with-properties-of-user-stores.md #- Write a Custom User store Manager: deploy/write-a-custom-user-store-manager.md @@ -1467,8 +1468,8 @@ extra: - type: linkedin link: https://www.linkedin.com/company/wso2 site_version: 6.1.0 - base_path: https://is.docs.wso2.com/en/6.1.0 - #base_path: http://127.0.0.1:8000/en/6.1.0 + #base_path: https://is.docs.wso2.com/en/6.1.0 + base_path: http://127.0.0.1:8000/en/6.1.0 nav_list: - Home From c026ff49d41a1c2abd453098e789896d2d66bd97 Mon Sep 17 00:00:00 2001 From: wso2 Date: Thu, 31 Aug 2023 11:10:39 +0530 Subject: [PATCH 4/5] resolve merge conflict --- en/mkdocs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/en/mkdocs.yml b/en/mkdocs.yml index 99d899fbac..5eb5371aa2 100644 --- a/en/mkdocs.yml +++ b/en/mkdocs.yml @@ -1468,8 +1468,8 @@ extra: - type: linkedin link: https://www.linkedin.com/company/wso2 site_version: 6.1.0 - #base_path: https://is.docs.wso2.com/en/6.1.0 - base_path: http://127.0.0.1:8000/en/6.1.0 + base_path: https://is.docs.wso2.com/en/6.1.0 + #base_path: http://127.0.0.1:8000/en/6.1.0 nav_list: - Home From ab9941c7c63ebf68dde440f2ff7177b5b5aac333 Mon Sep 17 00:00:00 2001 From: wso2 Date: Thu, 31 Aug 2023 14:29:56 +0530 Subject: [PATCH 5/5] typo fix --- en/docs/deploy/configure-user-stores.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/docs/deploy/configure-user-stores.md b/en/docs/deploy/configure-user-stores.md index f23bc0cab2..52dce22902 100644 --- a/en/docs/deploy/configure-user-stores.md +++ b/en/docs/deploy/configure-user-stores.md @@ -4,7 +4,7 @@ WSO2 Identity Server allows configuring multiple user stores to your system that There are two types of user stores: -- [Primary user stores (Mandatory)](#primary-user-store) +- [Primary user store (Mandatory)](#primary-user-store) - [Secondary user stores (Optional)](#secondary-user-store) All the supported user stores can be configured under these two types.