Hi, On Thu, Jun 9, 2016 at 10:53 AM, Harsha Thirimanna <[email protected]> wrote:
> Hi Isura, > > Any detail about the error response with relevant error codes ? > We have developed error codes for relevant error scenarios, I will update the docs with error code. > > > > *Harsha Thirimanna* > Associate Tech Lead; WSO2, Inc.; http://wso2.com > * <http://www.apache.org/>* > *email: **[email protected]* <[email protected]>* cell: +94 71 5186770 * > *twitter: **http://twitter.com/ <http://twitter.com/afkham_azeez>* > *harshathirimannlinked-in: **http: > <http://lk.linkedin.com/in/afkhamazeez>**//www.linkedin.com/pub/harsha-thirimanna/10/ab8/122 > <http://www.linkedin.com/pub/harsha-thirimanna/10/ab8/122>* > > *Lean . Enterprise . Middleware* > > > On Thu, Jun 9, 2016 at 10:46 AM, Dilan Udara Ariyaratne <[email protected]> > wrote: > >> Hi Isura, >> >> According to the REST API Guidelines that we have defined across all the >> products, >> following suggestions can be made regarding the resource paths that you >> have proposed. >> >> [1] Base-path "accountrecovery" has two words in it and they can be >> separated by a dash, i.e. as "account-recovery". >> [2] It seems that path "rest" does not make any sense as a resource, so >> it can be removed. >> [3] Also, all the underscore signs included in processiong-functions like >> "reset_password" and resource-paths like "security_questions_response" >> could be replaced with a dash (-). >> > Thanks for the infomation. I will modify the apis based on your suggetions. Thanks Isura > >> Regards, >> Dilan. >> >> *Dilan U. Ariyaratne* >> Senior Software Engineer >> WSO2 Inc. <http://wso2.com/> >> Mobile: +94766405580 <%2B94766405580> >> lean . enterprise . middleware >> >> >> On Wed, Jun 8, 2016 at 1:02 PM, Isura Karunaratne <[email protected]> wrote: >> >>> Identity Management Recovery API improvements. >>> >>> In Identity Server 5.3.0, we are going to implement Identity Management >>> recovery APIs as rest resources. In current implementations of IS5.0.0, >>> IS5.1.0 we have soap APIs for recovery scenarios. [1]. >>> >>> Captcha validation is coupled with recovery flows in existing soap API >>> implementation and we have improved Java API to decouple to the captcha >>> validation from recovery flows in new implementations. [4] >>> Existing soap APIs.Recover with Notification [2] >>> >>> - >>> >>> getCaptcha() - Generates a captcha. >>> - >>> >>> verifyUser() - Validates the captcha answer and username and >>> returns a new key. >>> - >>> >>> sendRecoveryNotification() - Send an email notification with a >>> confirmation code to the user. Need to provide the key from the previous >>> call. >>> - >>> >>> getCaptcha() - Generates a captcha when the user clicks on the URL. >>> - >>> >>> verifyConfirmationCode() - Validates the captcha answer and >>> confirmation code. This returns a key. >>> - >>> >>> updatePassword - Updates the password in the system. Need to >>> provide the key from the previous call, new password and returns the >>> status >>> of the update, true or false. >>> >>> Recover with Secret Questions[3] >>> >>> - >>> >>> getCaptcha() - Generates a captcha. >>> - >>> >>> verifyUser() - Validates the captcha answer and username and >>> returns a new key. >>> - >>> >>> getUserChallengeQuestionIds() - Retrieve the claim URI IDs >>> specified for the user with the generated key. Need to provide the key >>> from >>> the previous call. >>> - >>> >>> getUserChallengeQuestion() - Retrieve the user’s challenge question >>> for the specified claim URI ID from the previous call. Need to provide >>> the >>> key from the previous call. >>> - >>> >>> verifyUserChallengeAnswer() - Validates the answer and confirmation >>> code for the specified question. Need to provide the key from the >>> previous >>> call. >>> - >>> >>> updatePassword() - Updates the password in the system. Need to >>> provide the key from the previous call, the new password and return the >>> status of the update, i.e. true or false. >>> >>> >>> >>> >>> >>> New APIs >>> Recover with Notification >>> >>> - >>> >>> sendRecoveryNotification() : validate user and returns a new key >>> through a notification. >>> - >>> >>> updatePassword() : Updates the password in the system. Need to >>> provide the key from notification, new password >>> >>> >>> Recover with Secret Questions >>> >>> - >>> >>> intiateUserChallengeQuestion(); validate user and returns a >>> question to answer with a secret code >>> - >>> >>> verifyUserChallengeAnswer(); validate secret code and answer for the >>> question in previous step. Return a new question with new secret until >>> minimum number of questions are answered. >>> - >>> >>> updatePassword(); Updates the password in the system. Need to >>> provide the key from notification, new password >>> >>> >>> >>> New APIs for Multiple Questions at once >>> >>> - >>> >>> getAllChallegeQuestions(); validate user and returns all questions >>> to answer with a secret code >>> - >>> >>> validateAllChallengeAnswers(); validate code and all answers and >>> return a code if success >>> - >>> >>> updatePassword();Updates the password in the system. Need to provide >>> the key from notification, new password >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> [1] https://docs.wso2.com/display/IS510/Password+Recovery >>> >>> [2] >>> https://docs.wso2.com/display/IS510/Password+Recovery#PasswordRecovery-Recoveryusingnotifications >>> >>> [3] >>> https://docs.wso2.com/display/IS510/Password+Recovery#PasswordRecovery-Recoveryusingchallengequestions >>> >>> [4] [Architecture] Decouple capcha validation from Recovery flows >>> >>> >>> >>> Sample Requests >>> Send Email Notification >>> >>> POST accountrecovery/rest/notification/notify >>> <https://localhost:9443/accountrecovery/rest/notification/notify> >>> >>> >>> Request Body >>> >>> { >>> >>> "userName": "testuser", >>> >>> "tenantDomain": "carbon.super", >>> >>> "userStoreDomain": "PRIMARY" >>> >>> } >>> >>> >>> If notifications are internally managed, >>> >>> Response Body >>> >>> HTTP 200 >>> >>> >>> If notifications are externally managed, >>> >>> Response Body >>> >>> { >>> >>> "user": { >>> >>> "userName": "testuser", >>> >>> "userStoreDomain": "PRIMARY", >>> >>> "tenantDomain": "carbon.super" >>> >>> }, >>> >>> "key": "f75da810-3478-47f4-80e5-c37556392015" >>> >>> } >>> >>> >>> >>> >>> >>> *Reset Password.* >>> >>> PUT /accountrecovery/rest/notification/reset_password >>> >>> Request Body >>> >>> { >>> >>> "user": { >>> >>> "userName": "test", >>> >>> "userStoreDomain": "PRIMARY", >>> >>> "tenantDomain": "carbon.super" >>> >>> }, >>> >>> "code": "e4d6041b-2ea7-4dc1-9ae2-b8e9686e1d12", >>> >>> "password": "12345" >>> >>> } >>> >>> >>> Response Body >>> >>> HTTP 200 >>> >>> >>> >>> >>> >>> Initiate User Challenge Question >>> >>> PUT /accountrecovery/rest/questions/initiate >>> >>> >>> >>> Request Body >>> >>> { >>> >>> "userName": "admin", >>> >>> "userStoreDomain": "PRIMARY", >>> >>> "tenantDomain": "carbon.super" >>> >>> } >>> >>> >>> >>> Response body >>> >>> { >>> >>> "question": "City where you were born ?", >>> >>> "questionSetId": "http://wso2.org/claims/challengeQuestion1", >>> >>> "code": "786f63b6-d0b7-4bd7-991e-12e97e4602e3", >>> >>> "status": "INCOMPLETE" >>> >>> } >>> >>> >>> >>> >>> Validate User Challenge Question, >>> >>> POST /accountrecovery/security_questions_response >>> >>> Request Body >>> >>> { >>> >>> "user": { >>> >>> "userName": "admin", >>> >>> "userStoreDomain": "PRIMARY", >>> >>> "tenantDomain": "carbon.super" >>> >>> }, >>> >>> "key": "12454125-15145-45554155", >>> >>> "code": "fbc8e9e0-e6fd-4a75-8502-f03e5836930f", >>> >>> "answer": "colombo" >>> >>> } >>> >>> >>> >>> Response body >>> >>> { >>> >>> "question": "what is your favourite food ?", >>> >>> "questionSetId": "http://wso2.org/claims/challengeQuestion2", >>> >>> "code": "786f63b6-d0b7-4bd7-991e-12e97e4602e3", >>> >>> "status": "INCOMPLETE" >>> >>> } >>> >>> This should be repeated until status becomes complete. >>> >>> >>> >>> Response body >>> >>> { >>> >>> “status” : “COMPLETE”, >>> >>> “key” : "3225d2dd-f5fa-44ca-9aa1-d1c32748b569" >>> >>> } >>> >>> >>> >>> Thanks >>> Isura >>> >>> >>> -- >>> Isura Dilhara Karunaratne >>> Senior Software Engineer >>> >>> Mob +94 772 254 810 >>> >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- Isura Dilhara Karunaratne Senior Software Engineer Mob +94 772 254 810
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
