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://localhost:3306/is520user</Property>
      <Property name="userName">wso2carbon</Property>
      <Property encrypted="true"
name="password">A1yNIeGmb1QZHDIk09yOyx/+PWDPNRfOk6tCiCnQWzhFiXFaVu5dSWfqah7AElOdKqjgl0BOFdk4sXRGtjdPM3t8bODe9KzKrA3EJJ2mP16zbOah8JhFMJJDWOw0wkBy4TSnl7GBrGJMzQTazzYaxN/+nVpF25nbq1p7TzNytOJxagNMRjwnhgl08lFPNKs1VCJ1D4spQ4zjLp5oJBftdzMdi5wPo8tdNWu/oRRPZjz4Y/mWy4cE7hHZlPul3kYzm1BP2kWX/rsUgRdaKeSKaQwqNVOOsZxCgWTCanUMmZKvHOxehVe3BypebciR58RQH5Vyk6l+JCrXNvBN1OBOoA==</Property>
      <Property name="driverName">com.mysql.jdbc.Driver</Property>
      <Property
name="CountRetrieverClass">org.wso2.carbon.identity.user.store.count.jdbc.JDBCUserStoreCountRetriever</Property>
      <Property name="DomainName">PRIMARY-JDBC780-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
[email protected]
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to