[jira] [Commented] (OFBIZ-7058) New password set in forgot password workflow not works sometimes and gives error

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (OFBIZ-7058) New password set in forgot password workflow not works sometimes and gives error

Nicolas Malin (Jira)

    [ https://issues.apache.org/jira/browse/OFBIZ-7058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15276002#comment-15276002 ]

Amardeep Singh Jhajj commented on OFBIZ-7058:
---------------------------------------------

Hi jacques,

I have worked on this issue and found that sometimes encrypted password string (Base64 String created from EntityCrypto's encrypt method) contain "+".
So on clicking the reset password link from email we get a reset password page and on saving the new password we get this error. The reason is "+" is converted to " "
after url decoding. For example: Below URL having encrypted token with "+"

https://localhost:8443/partymgr/control/passwordChange?USERNAME=DemoUser&password=CcXuJ3vDfba0J7A8xO+X5A==&forgotPwdFlag=true&tenantId=

We can do any of the following fix:

1. We can pass encrypted token in form parameter instead of URL parameters. It would working fine. But, I have seen OFBIZ-4983 and found that previously we have used form itself but due to some email client related problems you have changed it to URL parameters.

2. We can also encode the encrypted token using URL encoder so that it is taken as it is in URL decoding. Here is the code snippet we can add:

        {code}URLEncoder.encode(passwordToSend, "UTF-8"); {code}
   
Please let me know your views for fixing it. I have already attached the patch here using URLEncoder.

Thanks.

> New password set in forgot password workflow not works sometimes and gives error
> --------------------------------------------------------------------------------
>
>                 Key: OFBIZ-7058
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-7058
>             Project: OFBiz
>          Issue Type: Bug
>          Components: ALL COMPONENTS
>    Affects Versions: Trunk
>            Reporter: Amardeep Singh Jhajj
>            Assignee: Amardeep Singh Jhajj
>            Priority: Critical
>         Attachments: OFBIZ-7058-screenshot-1.png, OFBIZ-7058-screenshot-2.png, OFBIZ-7058.patch
>
>
> Sometimes, on clicking the reset password link from "New password sent" email we get a reset password page and on saving the new password we get following error.
> [java] org.apache.shiro.crypto.CryptoException: Unable to execute 'doFinal' with cipher instance [javax.crypto.Cipher@3ea85a47].
>      [java] at org.apache.shiro.crypto.JcaCipherService.crypt(JcaCipherService.java:462) ~[shiro-core-1.2.3.jar:1.2.3]
>      [java] at org.apache.shiro.crypto.JcaCipherService.crypt(JcaCipherService.java:445) ~[shiro-core-1.2.3.jar:1.2.3]
>      [java] at org.apache.shiro.crypto.JcaCipherService.decrypt(JcaCipherService.java:390) ~[shiro-core-1.2.3.jar:1.2.3]
>      [java] at org.apache.shiro.crypto.JcaCipherService.decrypt(JcaCipherService.java:382) ~[shiro-core-1.2.3.jar:1.2.3]
>      [java] at org.ofbiz.entity.util.EntityCrypto$ShiroStorageHandler.decryptValue(EntityCrypto.java:282) ~[ofbiz-entity.jar:?]
>      [java] at org.ofbiz.entity.util.EntityCrypto.doDecrypt(EntityCrypto.java:147) ~[ofbiz-entity.jar:?]
>      [java] at org.ofbiz.entity.util.EntityCrypto.decrypt(EntityCrypto.java:126) ~[ofbiz-entity.jar:?]
>      [java] at org.ofbiz.webapp.control.LoginWorker.login(LoginWorker.java:389) ~[ofbiz-webapp.jar:?]
>      [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_60]
>      [java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_60]
>      [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_60]
>      [java] at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_60]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)