Hi Sherene ,

Did you able to get a working sample request ?
This is a blocker for us when automating  scripts for Test grid .



On Tue, Jan 16, 2018 at 1:51 PM, Sherene Mahanama <[email protected]> wrote:

> Hi IAM Team,
>
> The UserStoreConfigAdminService has been documented in [1]. I have also
> added a tip under the addUserStore operation that links off to the relevant
> docs for a full list of properties including optional properties for each
> user store type.
>
> However, the sample request given under the addUserStore() operation [2]
> only includes mandatory parameters which will not work as mentioned by
> Dilini and Godwin. Can we please have a working sample request that we can
> add to the doc? Which optional parameters need to be included in the
> request for it to work as expected? Please advise.
>
> [1] https://docs.wso2.com/display/IS5xx/Managing+User+Stores+with+APIs
> [2] https://docs.wso2.com/display/IS5xx/Managing+User+Stores+with+APIs#
> ManagingUserStoreswithAPIs-addUserStore()
>
> Thanks,
> Sherene
>
> On Thu, Dec 21, 2017 at 9:18 AM, Dilini Gunatilake <[email protected]>
> wrote:
>
>> Hi Tharindu/Godwin,
>>
>> I already checked the config file. The default regex were not added.
>> Following are the only configs available in the file (which are the ones I
>> configured).
>>
>> <?xml version="1.0" encoding="UTF-8"?><UserStoreManager class="
>> org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager">
>>       <Property name="url">jdbc:mysql://localh
>> ost:3306/is520user</Property>
>>       <Property name="userName">wso2carbon</Property>
>>       <Property encrypted="true" name="password">A1yNIeGmb1QZHD
>> Ik09yOyx/+PWDPNRfOk6tCiCnQWzhFiXFaVu5dSWfqah7AElOdKqjgl0BOFd
>> k4sXRGtjdPM3t8bODe9KzKrA3EJJ2mP16zbOah8JhFMJJDWOw0wkBy4TSnl7
>> GBrGJMzQTazzYaxN/+nVpF25nbq1p7TzNytOJxagNMRjwnhgl08lFPNKs1VC
>> J1D4spQ4zjLp5oJBftdzMdi5wPo8tdNWu/oRRPZjz4Y/mWy4cE7hHZlPul3k
>> Yzm1BP2kWX/rsUgRdaKeSKaQwqNVOOsZxCgWTCanUMmZKvHOxehVe3Bypebc
>> iR58RQH5Vyk6l+JCrXNvBN1OBOoA==</Property>
>>       <Property name="driverName">com.mysql.jdbc.Driver</Property>
>>       <Property name="CountRetrieverClass">org
>> .wso2.carbon.identity.user.store.count.jdbc.JDBCUserStoreCou
>> ntRetriever</Property>
>>       <Property name="DomainName">PRIMARY-JDBC
>> 780-ATTRIBUTE-STORE</Property>
>>       <Property name="Description">created with admin services</Property>
>> </UserStoreManager>
>>
>>
>> @Godwin -  +1 for the approach.
>>
>> Thanks,
>> Dilini
>>
>>
>> On Wed, Dec 20, 2017 at 11:25 PM, Tharindu Edirisinghe <
>> [email protected]> wrote:
>>
>>> Hi Dilini,
>>>
>>> After adding the secondary userstore, you can find the config file
>>> related to that in *repository/deployment/server/userstores/* location.
>>> Although you have not added the regex parameters when you created the
>>> userstore from the admin service, I believe it should have added some
>>> default regex there. You need to check the following two properties in the
>>> file.
>>>
>>>
>>>
>>> *PasswordJavaRegExPasswordJavaScriptRegEx*
>>>
>>> You can find more information on the password pattern validation from
>>> [1].
>>>
>>> [1] http://tharindue.blogspot.com/2016/08/user-password-pattern-
>>> regex-front-end.html
>>>
>>> Thanks,
>>> TharinduE
>>>
>>> On Wed, Dec 20, 2017 at 11:46 AM, Godwin Shrimal <[email protected]>
>>> wrote:
>>>
>>>> Hi Dilini,
>>>>
>>>> Please see my comments.
>>>>
>>>>
>>>> I think it makes sense to populate additional parameters in UI when
>>>>>>> adding user store from the management console.
>>>>>>>
>>>>>> Yes, this is handled correctly from the management console side as
>>>>>>> expected.
>>>>>>>
>>>>>>>
>>>>>>>> Yeah, when adding user store via admin services its bit hard to add
>>>>>>>> those number of optional parameters. So I propose following solutions.
>>>>>>>>
>>>>>>>> 1. Improve our documentation and describe required optional
>>>>>>>> parameters and add a sample request with optional parameters
>>>>>>>>
>>>>>>> In this case, every time the optional properties are changed the doc
>>>>>>> needs to be updated and the developer needs to update the request too.
>>>>>>>
>>>>>> I don't think optional parameters are changing frequently, it is
>>>>>> something changing rearely when we need to introudce some feature to
>>>>>> perticluar user store. And if optional parameters added newly, existing
>>>>>> request should work as expected without breaking and not MUST to add that
>>>>>> parameters to request.
>>>>>>
>>>>> But, in this case it is a must to add the optional parameters in the
>>>>> request which is wrong. This hinders the usability aspect from the user
>>>>> perspective. So, IMO we should document the full request as well as handle
>>>>> it as per solution 2.
>>>>>
>>>>
>>>> As an API its not wrong not to send optional parameters, But yes. Its
>>>> not working as expected if we not send them. Yes, we need to fully document
>>>> the request with optional parameters as suggested in solution1 as an
>>>> imidiate step. We may need implement the solution 2 in future. Lets wait
>>>> and see the feedback from IAM team.
>>>>
>>>>
>>>> Thanks
>>>> Godwin
>>>>
>>>>
>>>>
>>>>>
>>>>>>
>>>>>>>> 2. Change backend to add default parameters (same as what we do in
>>>>>>>> UI) if user is not sending additional parameters in request
>>>>>>>>
>>>>>>> +1 for this solution. Here, the developer does not need to worry
>>>>>>> about the 100 odd optional parameters at all. If he needs to change few
>>>>>>> parameters, he can change only the required ones.
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Godwin
>>>>>>>>
>>>>>>>> On Wed, Dec 20, 2017 at 5:00 PM, Dilini Gunatilake <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> Hi IAM Team,
>>>>>>>>>
>>>>>>>>> I need to create a JDBC secondary user store via admin services
>>>>>>>>> and I configured only the mandatory parameters and sent the request. 
>>>>>>>>> The
>>>>>>>>> request was successful and the user store was created. However, when I
>>>>>>>>> tried to add a user to that user store, it says the password length is
>>>>>>>>> invalid and did not let me create a user.
>>>>>>>>>
>>>>>>>>> Request:
>>>>>>>>>
>>>>>>>>> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"; 
>>>>>>>>> xmlns:xsd="http://org.apache.axis2/xsd"; 
>>>>>>>>> xmlns:xsd1="http://dto.configuration.store.user.identity.carbon.wso2.org/xsd";>
>>>>>>>>>    <soap:Header/>
>>>>>>>>>    <soap:Body>
>>>>>>>>>       <xsd:addUserStore>
>>>>>>>>>          <!--Optional:-->
>>>>>>>>>          <xsd:userStoreDTO>
>>>>>>>>>             <!--Optional:-->
>>>>>>>>>             
>>>>>>>>> <xsd1:className>org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager</xsd1:className>
>>>>>>>>>             <!--Optional:-->
>>>>>>>>>             <xsd1:description>created with admin 
>>>>>>>>> services</xsd1:description>
>>>>>>>>>             <!--Optional:-->
>>>>>>>>>             <xsd1:disabled>false</xsd1:disabled>
>>>>>>>>>             <!--Optional:-->
>>>>>>>>>             
>>>>>>>>> <xsd1:domainId>PRIMARY-JDBC780-ATTRIBUTE-STORE</xsd1:domainId>
>>>>>>>>>             <!--Zero or more repetitions:-->
>>>>>>>>>             <xsd1:properties>
>>>>>>>>>                <xsd1:name>url</xsd1:name>
>>>>>>>>>                
>>>>>>>>> <xsd1:value>jdbc:mysql://localhost:3306/is520user</xsd1:value>
>>>>>>>>>             </xsd1:properties>
>>>>>>>>>             <xsd1:properties>
>>>>>>>>>                <xsd1:name>userName</xsd1:name>
>>>>>>>>>                <xsd1:value>wso2carbonxxx</xsd1:value>
>>>>>>>>>             </xsd1:properties>
>>>>>>>>>             <xsd1:properties>
>>>>>>>>>                <xsd1:name>password</xsd1:name>
>>>>>>>>>                <xsd1:value>wso2carbonxxx</xsd1:value>
>>>>>>>>>             </xsd1:properties>
>>>>>>>>>             <xsd1:properties>
>>>>>>>>>                <xsd1:name>driverName</xsd1:name>
>>>>>>>>>                <xsd1:value>com.mysql.jdbc.Driver</xsd1:value>
>>>>>>>>>             </xsd1:properties>
>>>>>>>>>             <xsd1:properties>
>>>>>>>>>                <xsd1:name>CountRetrieverClass</xsd1:name>
>>>>>>>>>                
>>>>>>>>> <xsd1:value>org.wso2.carbon.identity.user.store.count.jdbc.JDBCUserStoreCountRetriever</xsd1:value>
>>>>>>>>>             </xsd1:properties>
>>>>>>>>>          </xsd:userStoreDTO>
>>>>>>>>>       </xsd:addUserStore>
>>>>>>>>>    </soap:Body>
>>>>>>>>> </soap:Envelope>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> This may be because I haven't configured the optional parameters
>>>>>>>>> such as username/password regex etc. in the request. But, IMO the 
>>>>>>>>> request
>>>>>>>>> should work successfully with only mandatory parameters.
>>>>>>>>>
>>>>>>>>> If I do the same via management console, the additional parameters
>>>>>>>>> will be populated in the UI and saved in the xml when we save the
>>>>>>>>> configuration.
>>>>>>>>>
>>>>>>>>> If a developer needs to create a user store via admin services,
>>>>>>>>> how can the developer achieve this? If the developer needs to 
>>>>>>>>> configure
>>>>>>>>> optional parameters, there are around 100 parameters. What are the 
>>>>>>>>> must
>>>>>>>>> have additional parameters the user needs to configure or what is the 
>>>>>>>>> best
>>>>>>>>> way to handle this?
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Dilini
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>>
>>>>>>>>> *Dilini GunatilakeSoftware Engineer - QA Team*
>>>>>>>>> Mobile : +94771162518 <+94%2077%20116%202518>
>>>>>>>>> [email protected]
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> *Godwin Amila Shrimal*
>>>>>>>> Associate Technical Lead
>>>>>>>> WSO2 Inc.; http://wso2.com
>>>>>>>> lean.enterprise.middleware
>>>>>>>>
>>>>>>>> mobile: *+94772264165*
>>>>>>>> linkedin: *https://www.linkedin.com/in/godwin-amila-2ba26844/
>>>>>>>> <https://www.linkedin.com/in/godwin-amila-2ba26844/>*
>>>>>>>> twitter: https://twitter.com/godwinamila
>>>>>>>> <http://wso2.com/signature>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> *Dilini GunatilakeSoftware Engineer - QA Team*
>>>>>>> Mobile : +94771162518 <+94%2077%20116%202518>
>>>>>>> [email protected]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Godwin Amila Shrimal*
>>>>>> Associate Technical Lead
>>>>>> WSO2 Inc.; http://wso2.com
>>>>>> lean.enterprise.middleware
>>>>>>
>>>>>> mobile: *+94772264165*
>>>>>> linkedin: *https://www.linkedin.com/in/godwin-amila-2ba26844/
>>>>>> <https://www.linkedin.com/in/godwin-amila-2ba26844/>*
>>>>>> twitter: https://twitter.com/godwinamila
>>>>>> <http://wso2.com/signature>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> *Dilini GunatilakeSoftware Engineer - QA Team*
>>>>> Mobile : +94771162518 <+94%2077%20116%202518>
>>>>> [email protected]
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Godwin Amila Shrimal*
>>>> Associate Technical Lead
>>>> WSO2 Inc.; http://wso2.com
>>>> lean.enterprise.middleware
>>>>
>>>> mobile: *+94772264165*
>>>> linkedin: *https://www.linkedin.com/in/godwin-amila-2ba26844/
>>>> <https://www.linkedin.com/in/godwin-amila-2ba26844/>*
>>>> twitter: https://twitter.com/godwinamila
>>>> <http://wso2.com/signature>
>>>>
>>>> _______________________________________________
>>>> Dev mailing list
>>>> [email protected]
>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>
>>>>
>>>
>>>
>>> --
>>>
>>> Tharindu Edirisinghe
>>> Senior Software Engineer | WSO2 Inc
>>> Platform Security Team
>>> Blog : http://tharindue.blogspot.com
>>> mobile : +94 775181586 <+94%2077%20518%201586>
>>>
>>
>>
>>
>> --
>>
>> *Dilini GunatilakeSoftware Engineer - QA Team*
>> Mobile : +94771162518 <+94%2077%20116%202518>
>> [email protected]
>>
>>
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> Sherene Mahanama
> Technical Writer
>
> WSO2 (pvt.) Ltd.
> Colombo, Sri Lanka
> Mobile: (+94) 777 <%28%2B94%29%20773131798>
> *994805*
>



-- 
Best Regards,


*Chankami Maddumage*
Software Engineer - QA Team
WSO2 Inc; http://www.wso2.com/.
Mobile: +94 (0) 722223096 <%2B94%20%280%29%20773%20381%20250>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to