Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

The password reset API consists in 2 mandatory and 1 optional step. The mandatory steps are the initiation of the password reset request and its confirmation. The optional step is to check the status of a previously submitted request. 

Password Reset Initial Request

Current Implementation

This operation is meant to be used when a user wants to reset his/her password and/or pin because he/her has forgot it.

This operation performs the following actions:

  1. Creates a token with a short lifespan (2 minutes).
  2. Creates an entry in a PasswordResetRequest table associating the token and the email of the user that is initiating the request. This association prevents any valid token (other than the one that was specifically created for this purpose) to reset a user's password and/or pin. 
  3. Optionally emails the user a link that can be used to reset his/her password. (the link contains the generated token and the email of the user)

The output of this operation is:

  1. A 'success' status of 'false' and a corresponding 'failMessage' if:
    1. The provided email doesn't exist.
    2. There is some internal error in the operation.
  2. A 'success' status of 'true' if the operation was successfully completed in addition of the following information:
    1. token: The generated token in case it is needed by the client.
    2. resetURL: The original URL sent by the client but with any additional information added by the server (like the placeholder replaced with the correct token).

Parameters

Base URL: /passwordReset/init
Parameters:

NameTypeMandatoryDescription
emailStringYesThe email of the user initiating the request.
resetURLStringNo

DEFAULT: null

The URL that will be sent to the user via email. This URL may have 2 placeholders: {token} and {email} that this service will replace with the generated token for the request and the email of the initiating user.

sendEmailBooleanNo

DEFAULT: 'false'

Indicates whether an notification email should be sent to the user.

API Sample

Happy Path

http://192.168.1.126:8080/PresentationServices/passwordReset/init?email=e@e.com&resetURL=http%3A%2F%2F127.0.0.1%3A8888%2Fportal.html%3Fpage%3Dreset%26resettoken%3D%7Btoken%7D

Result
{
data: {
token: "19c65444-324a-4449-a8de-706ebe9cf8a9",
resetURL: "http://127.0.0.1:8888/portal.html?page=reset&resettoken=19c65444-324a-4449-a8de-706ebe9cf8a9"
},
statusFact: {
success: true
}
}

Non existing email

http://192.168.1.126:8080/PresentationServices/passwordReset/init?email=non-existing@e.com&resetURL=http%3A%2F%2F127.0.0.1%3A8888%2Fportal.html%3Fpage%3Dreset%26resettoken%3D%7Btoken%7D

Result
{
statusFact: {
failMessage: "Unknown user for provided email",
success: false
}
}

 

Password Reset Request Status

Current Implementation

This operation checks whether a particular user has a pending 'password/pin reset' operation.

This operation performs the following actions:

  1. Check if an entry in PasswordResetRequest table exists for a provided email and token.

The output of this operation is:

  1. A 'success' status of 'false' and a corresponding 'failMessage' if:
    1. There is some internal error in the operation
  2. A 'success' status of 'true' if the operation was successfully completed in addition to the following information:
    1. pending: boolean value specifying whether a pending operation exits or not.

Parameters

Base URL: /passwordReset/init
Parameters:

NameTypeMandatoryDescription
emailStringYesThe email of the user we want to check,
tokenStringYesThe token generated in the previous step. Only tokens generated by the 'initiate password/pin' operation are allowed by this operation.

API Sample

Happy Path

http://192.168.1.126:8080/PresentationServices/passwordReset/status?email=e@e.com&token=93254c85-be0d-4eed-9d17-e6aada743c5f

Result
{
data: {
pending: true
},
statusFact: {
success: true
}
}

Non-existing email/pending operation/wrong token

http://192.168.1.126:8080/PresentationServices/passwordReset/status?email=e@e.com&token=93254c85-be0d-4eed-9d17-e6aada743c5f

Result
{
data: {
pending: false
},
statusFact: {
success: true
}
}
  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.