问题
I am using Yodlee aggregation api's and i was wondering if there is a way to reset password for an existing user without knowing the current password ? The API Documentation says that a user can only be unregistered if userId/password are known?
回答1:
you can use the below set of API's which will help you to reset the password of any existing user without knowing their password.However you should have a valid co-brand login and registered user id.
Password Rest Management Service APIs:
Step 1. Get the token by calling getToken API.
Step 2. Get the token specific user context from getPasswordResetUserContextFromToken API by passing token got from step 1.
Step 3. Set the session by calling setSessionForValidToken API by passing token got from step 1 and user context from step 2.
Step 4. Now call the changePassword API by passing token got from step 1 and user context from step 2 and new credentials.
1.Service Name: PasswordResetManagement
Operation: getToken
Sub URL: /jsonsdk/PasswordResetManagement/getToken
API Parameters:cobSessionToken Valid Cobrand Session TokenUsername Valid user name
Sample API Response:
{"validUntil":"2014-05-23T18:15:16+0530","username":"yodlee121","token":"364cb1d62f8380b7f3596e73f2179b4d"}
2.Service Name: PasswordResetManagement
Operation: getPasswordResetUserContextFromToken
Sub URL: /jsonsdk/PasswordResetManagement/getPasswordResetUserContextFromToken
API Parameters:cobSessionToken Valid Cobrand Session Token
token 364cb1d62f8380b7f3596e73f2179b4d
Sample API Response:
{"conversationCredentials":
{"sessionToken":"06142010_0:f7cf401c5e7404b8fecd47fe340c69168c411dd966fe12906fedafecd71e7af6832a9585dc283f268a0989a9c50999d1027156fc83bd64285c37a8d839ed4a82"},
"valid":false,
"isPasswordExpired":false,
"cobrandId":10000004,
"channelId":-1,
"locale":"en_US",
"tncVersion":2,
"applicationId":"17CBE222A42161A3FF450E47CF4C1A00",
"cobrandConversationCredentials":
{"sessionToken":"06142010_0:a6c2ab5ff19c8cad89d7aef58474e191a54e81607bff5e2257c7d98b1d985d29c685ccbf2fe032f2c6fe1c7fddff36acd18c5ac20ee3f4676d5c76b3e6b7a3a9"},
"preferenceInfo":{"currencyCode":"USD","timeZone":"PST"}
}
3.Service Name: PasswordResetManagement
Operation: setSessionForValidToken
SERVICE URL:/jsonsdk/PasswordResetManagement/setSessionForValidToken
API Parameters:cobSessionToken Valid Cobrand Session TokenuserSessionToken Password reset user session token
token 364cb1d62f8380b7f3596e73f2179b4d
Sample API Response:
{}
4.Service Name: PasswordResetManagement
Operation: changePassword
SERVICE URL:/jsonsdk/PasswordResetManagement/changePassword
API Parameters:cobSessionToken Valid Cobrand Session TokenuserSessionToken Password reset user session token
token 364cb1d62f8380b7f3596e73f2179b4dnewCredentials.objectInstanceType com.yodlee.ext.login.PasswordCredentialsnewCredentials.password New password
Sample API Response:
{"loginName":"raja12345","password":"raja@12345"}
来源:https://stackoverflow.com/questions/30399887/yodlee-user-password-reset