sinam09

Identity Manager - TEWS Forgotten Password Reset

Blog Post created by sinam09 Employee on Dec 30, 2017

Self service password reset via web services interface is a multi step request and response interaction between a web service client and the Identity Manager TEWS interface. Below is an example transaction sequence.

 

Notice that the Forgotten Password Reset Task is a public task.

 

Step 1

Initiate Forgotten Password Reset Task with a search context.

SOAP Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://tews6/wsdl">
   <soapenv:Header/>
   <soapenv:Body>
      <wsdl:PublicTaskContext>
         <wsdl:transaction_id>new</wsdl:transaction_id>
      </wsdl:PublicTaskContext>
      <wsdl:ForgottenPasswordResetSearch>
         <wsdl:Subject index="0">
       <wsdl:UniqueName>ncas0010</wsdl:UniqueName>
         </wsdl:Subject>
      </wsdl:ForgottenPasswordResetSearch>
   </soapenv:Body>
</soapenv:Envelope>

SOAP Response

Notice the transaction ID and the first question returned in the response.

<soapenv:Envelope xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://tews6/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <ForgottenPasswordResetSearchResult>
         <ImsStatus version="6.0">
            <transactionId>9b4ad5bd-b32450f3-742e8c26-cf3c787</transactionId>
         </ImsStatus>
         <ResultItem>
            <_BAR_VerifyAnswer_BAR_>
               <DISPLAY_NAME>Answer</DISPLAY_NAME>
               <ATTR_NAME>|VerifyAnswer|</ATTR_NAME>
               <ATTR_VALUE/>
               <ATTR_PERMISSION>WriteMandatory</ATTR_PERMISSION>
            </_BAR_VerifyAnswer_BAR_>
            <_BAR_VerifyQuestion_BAR_>
               <DISPLAY_NAME>Password Hint</DISPLAY_NAME>
               <ATTR_NAME>|VerifyQuestion|</ATTR_NAME>
               <ATTR_VALUE>FPR question5</ATTR_VALUE>
               <ATTR_PERMISSION>ReadOnly</ATTR_PERMISSION>
            </_BAR_VerifyQuestion_BAR_>
            <_PCT_LAST_NAME_PCT_>
               <DISPLAY_NAME>Last Name</DISPLAY_NAME>
               <ATTR_NAME>%LAST_NAME%</ATTR_NAME>
               <ATTR_VALUE>Sinha</ATTR_VALUE>
               <ATTR_PERMISSION>ReadOnly</ATTR_PERMISSION>
            </_PCT_LAST_NAME_PCT_>
            <_PCT_USER_ID_PCT_>
               <DISPLAY_NAME>User ID</DISPLAY_NAME>
               <ATTR_NAME>%USER_ID%</ATTR_NAME>
               <ATTR_VALUE>sinam10</ATTR_VALUE>
               <ATTR_PERMISSION>ReadOnly</ATTR_PERMISSION>
            </_PCT_USER_ID_PCT_>
            <_PCT_FIRST_NAME_PCT_>
               <DISPLAY_NAME>First Name</DISPLAY_NAME>
               <ATTR_NAME>%FIRST_NAME%</ATTR_NAME>
               <ATTR_VALUE>Amit</ATTR_VALUE>
               <ATTR_PERMISSION>ReadOnly</ATTR_PERMISSION>
            </_PCT_FIRST_NAME_PCT_>
         </ResultItem>
      </ForgottenPasswordResetSearchResult>
   </soapenv:Body>
</soapenv:Envelope>

 

Step 2

SOAP Request: Submit answer for the first question. This request must use the transaction_id retrieved from the initial request.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://tews6/wsdl">
   <soapenv:Header/>
   <soapenv:Body>
      <wsdl:PublicTaskContext>
         <wsdl:transaction_id>9b4ad5bd-b32450f3-742e8c26-cf3c787</wsdl:transaction_id>
      </wsdl:PublicTaskContext>
      <wsdl:ForgottenPasswordResetSearch>
         <wsdl:Subject index="0">
            <wsdl:UID>uid=sinam10,ou=InformationTechnology,o=forward,c=us</wsdl:UID>
            <wsdl:_BAR_VerifyAnswer_BAR_>answer5</wsdl:_BAR_VerifyAnswer_BAR_>
         </wsdl:Subject>
      </wsdl:ForgottenPasswordResetSearch>
   </soapenv:Body>
</soapenv:Envelope>

SOAP Response: Retrieves the next question

<soapenv:Envelope xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://tews6/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <ForgottenPasswordResetSearchResult>
         <ImsStatus version="6.0">
            <transactionId>9b4ad5bd-b32450f3-742e8c26-cf3c787</transactionId>
         </ImsStatus>
         <ResultItem>
            <_BAR_VerifyAnswer_BAR_>
               <DISPLAY_NAME>Answer</DISPLAY_NAME>
               <ATTR_NAME>|VerifyAnswer|</ATTR_NAME>
               <ATTR_VALUE/>
               <ATTR_PERMISSION>WriteMandatory</ATTR_PERMISSION>
            </_BAR_VerifyAnswer_BAR_>
            <_BAR_VerifyQuestion_BAR_>
               <DISPLAY_NAME>Password Hint</DISPLAY_NAME>
               <ATTR_NAME>|VerifyQuestion|</ATTR_NAME>
               <ATTR_VALUE>FPR question4</ATTR_VALUE>
               <ATTR_PERMISSION>ReadOnly</ATTR_PERMISSION>
            </_BAR_VerifyQuestion_BAR_>
         </ResultItem>
      </ForgottenPasswordResetSearchResult>
   </soapenv:Body>
</soapenv:Envelope>

Step 3

SOAP Request: Answer the question provided in the previous step

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://tews6/wsdl">
   <soapenv:Header/>
   <soapenv:Body>
      <wsdl:PublicTaskContext>
         <wsdl:transaction_id>9b4ad5bd-b32450f3-742e8c26-cf3c787</wsdl:transaction_id>
      </wsdl:PublicTaskContext>
      <wsdl:ForgottenPasswordResetSearch>
         <wsdl:Subject index="0">
            <wsdl:UID>uid=sinam10,ou=InformationTechnology,o=forward,c=us</wsdl:UID>
            <wsdl:_BAR_VerifyAnswer_BAR_>answer4</wsdl:_BAR_VerifyAnswer_BAR_>
         </wsdl:Subject>
      </wsdl:ForgottenPasswordResetSearch>
   </soapenv:Body>
</soapenv:Envelope>

 

SOAP Response: Retrieve the next question

<soapenv:Envelope xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://tews6/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <ForgottenPasswordResetSearchResult>
         <ImsStatus version="6.0">
            <transactionId>9b4ad5bd-b32450f3-742e8c26-cf3c787</transactionId>
         </ImsStatus>
         <ResultItem>
            <_BAR_VerifyAnswer_BAR_>
               <DISPLAY_NAME>Answer</DISPLAY_NAME>
               <ATTR_NAME>|VerifyAnswer|</ATTR_NAME>
               <ATTR_VALUE/>
               <ATTR_PERMISSION>WriteMandatory</ATTR_PERMISSION>
            </_BAR_VerifyAnswer_BAR_>
            <_BAR_VerifyQuestion_BAR_>
               <DISPLAY_NAME>Password Hint</DISPLAY_NAME>
               <ATTR_NAME>|VerifyQuestion|</ATTR_NAME>
               <ATTR_VALUE>FPR question1</ATTR_VALUE>
               <ATTR_PERMISSION>ReadOnly</ATTR_PERMISSION>
            </_BAR_VerifyQuestion_BAR_>
         </ResultItem>
      </ForgottenPasswordResetSearchResult>
   </soapenv:Body>
</soapenv:Envelope>

 

Step 4

SOAP Request: Answer the question provided in previous step

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsdl="http://tews6/wsdl">
   <soapenv:Header/>
   <soapenv:Body>
      <wsdl:PublicTaskContext>
         <wsdl:transaction_id>9b4ad5bd-b32450f3-742e8c26-cf3c787</wsdl:transaction_id>
      </wsdl:PublicTaskContext>
      <wsdl:ForgottenPasswordResetSearch>
         <wsdl:Subject index="0">
 <wsdl:UID>uid=sinam10,ou=InformationTechnology,o=forward,c=us</wsdl:UID>
            <wsdl:_BAR_VerifyAnswer_BAR_>answer1</wsdl:_BAR_VerifyAnswer_BAR_>
         </wsdl:Subject>
      </wsdl:ForgottenPasswordResetSearch>
   </soapenv:Body>
</soapenv:Envelope>

 

SOAP Response: Notice ResultItem presented in the response. OID element is also presented and this concludes answering the questions required for password reset.

<soapenv:Envelope xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://tews6/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <ForgottenPasswordResetSearchResult>
         <ImsStatus version="6.0">
            <transactionId>9b4ad5bd-b32450f3-742e8c26-cf3c787</transactionId>
         </ImsStatus>
         <ResultItem>
            <OID>uid=sinam10,ou=InformationTechnology,o=forward,c=us</OID>
         </ResultItem>
      </ForgottenPasswordResetSearchResult>
   </soapenv:Body>
</soapenv:Envelope>

 

Step 5 Final Step. Submit the New Password to be reset.

SOAP Request

   <soapenv:Header/>
   <soapenv:Body>
      <wsdl:PublicTaskContext>
         <wsdl:transaction_id>9b4ad5bd-b32450f3-742e8c26-cf3c787</wsdl:transaction_id>
      </wsdl:PublicTaskContext>
      <wsdl:ForgottenPasswordReset>
         <wsdl:ForgottenPasswordResetSearch>
            <wsdl:Subject index="0">
               <wsdl:OID>uid=sinam10,ou=InformationTechnology,o=forward,c=us</wsdl:OID>
            </wsdl:Subject>
         </wsdl:ForgottenPasswordResetSearch>
         <wsdl:ForgottenPasswordResetProfileTab>
            <wsdl:_PCT_PASSWORD_PCT_>P@ssword03</wsdl:_PCT_PASSWORD_PCT_>
            <wsdl:_BAR_passwordConfirm_BAR_>P@ssword03</wsdl:_BAR_passwordConfirm_BAR_>
         </wsdl:ForgottenPasswordResetProfileTab>
      </wsdl:ForgottenPasswordReset>
   </soapenv:Body>
</soapenv:Envelope>

 

SOAP Response

<soapenv:Envelope xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/ http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://tews6/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <ImsStatus version="6.0">
         <transactionId>9b4ad5bd-b32450f3-742e8c26-cf3c787</transactionId>
      </ImsStatus>
   </soapenv:Body>
</soapenv:Envelope>

 

This concludes Forgotten Password Reset transaction.

Outcomes