wso2 / charon

122 stars 164 forks source link

EnterpriseUser support missing? #232

Open phillip-cameron-medibank opened 5 years ago

phillip-cameron-medibank commented 5 years ago

I can't seem to find any references to the EnterpriseUser in the master branch.

Looks like commit 2ef2e2769eed14af4bdf6dbdcbf02e3a9097273c deleted "modules\charon-core\src\main\java\org\wso2\charon\core\schema\SCIMEnterpriseUserSchemaExtension.java"

When testing it seems to be ignored. Can we add it back or modify the readme.md file to remove references to it being supported?

denisrobert commented 5 years ago

This seems like a critical issue, and if EnterpriseUser support is removed from charon, it would be yet another SCIM feature not supported, and it would likely force a number of users, us included to revisit our decision to use WSO2 products due to the cost of redesigning our applications.

emswbandara commented 5 years ago

WSO2 IS already supports Enterprise User extension schema for SCIM2. You can find the charon3 implementation in https://github.com/wso2/charon/blob/master/modules/charon-core/src/main/java/org/wso2/charon3/core/config/SCIMUserSchemaExtensionBuilder.java

phillip-cameron-medibank commented 5 years ago

This class doesn't actually implement the extension. It can be used to load additional schema extensions like the Enterprise extension. However the file containing the Enterprise extension is not in the source code any more. Also missing from the core libraries are any methods to set or get the extension attributes. As it's actually part of the specification it would make a good example. E.g. We need to add the schema file which is loaded via buildUserSchemaExtension. We also need to subclass or extend the User object to provide access to the additional attributes.

emswbandara commented 5 years ago

We have the schema file in our SCIM client implementation [1]. You can find the source reference for using the buildUserSchemaExtension() method in [2]

[1] https://github.com/wso2-extensions/identity-inbound-provisioning-scim2/blob/1.3.x/features/org.wso2.carbon.identity.scim2.common.feature/resources/scim2-schema-extension.config [2] https://github.com/wso2-extensions/identity-inbound-provisioning-scim2/blob/2376084f0350922b3900e435c005607a72ada7b1/components/org.wso2.carbon.identity.scim2.common/src/main/java/org/wso2/carbon/identity/scim2/common/internal/SCIMCommonComponent.java#L78

denisrobert commented 5 years ago

Seems like the scim2-schema-extension.config file isn't in the master branch, only in the 1.3.X branch as shown by the links above. In fact, the entire org.wso2.carbon.identity.scim2.common.feature folder is missing from the master branch, implying a significant structural difference between the two branches that could explain the discrepancy.

walker1001 commented 3 years ago

BTW, can I search users by claims of Enterprise User? I can not find documentation about this issue. Thank you.