Hi all,

With the current user core implementation we do not include a SCIM user_id
for admin users (Since SCIM is not used in all products) which prevents
SCIM based CRUD operations on admin users. In order to implement this we
have identified the following two approaches.

*#option 1*

Generate admin users' SCIM userId in SCIM component activator at server
start up (for admin users in super tenant domain). For tenant admins we can
configure a listener on tenant admin creation in TenantMgtService[2] to
generate user_id if SCIM is enabled.

*#option 2*

In AbstractUserStoreManager [1] modify addInitialAdminData() operation to
apply SCIM user_id claim when adding a new admin user. For the default LDAP
admin we can check the already existing claims for the user_id claim and
generate a random id if it doesn't exist. For tenant admins this can be
done via the above mentioned listener. In this approach we expose SCIM on
all the other products which do not support SCIM since we implement this at
kernel level.

In my opinion, option 1 would be more suitable since in this approach we do
not need to additionally provide this feature on products that do not
support SCIM.

Highly appreciate your suggestions on this.

[1] https://github.com/wso2/carbon-kernel/blob/4.4.x/core/
org.wso2.carbon.user.core/src/main/java/org/wso2/carbon/user/core/common/
AbstractUserStoreManager.java#L3835
[2] https://github.com/wso2/carbon-multitenancy/blob/
master/components/tenant-mgt/org.wso2.carbon.tenant.mgt/
src/main/java/org/wso2/carbon/tenant/mgt/services/
TenantMgtAdminService.java#L57


Thanks,
Sathya
-- 
Sathya Bandara
Software Engineer
WSO2 Inc. http://wso2.com
Mobile: (+94) 715 360 421 <+94%2071%20411%205032>

<+94%2071%20411%205032>
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to