我正在使用Yodlee聚合API,我想知道是否有办法在不知道当前密码的情况下重置现有用户的密码? API文档说,如果知道userId /密码,用户只能取消注册?
答案 0 :(得分:3)
您可以使用以下API集,这将帮助您在不知道密码的情况下重置任何现有用户的密码。但是,您应该拥有有效的联合品牌登录和注册用户ID。
步骤1.通过调用getToken
API获取令牌。
步骤2.通过传递从步骤1获得的令牌,从getPasswordResetUserContextFromToken
API获取特定于令牌的用户上下文。
步骤3.通过传递来自步骤1的令牌和来自步骤2的用户上下文来调用setSessionForValidToken
API来设置会话。
步骤4.现在通过传递来自步骤1的令牌和来自步骤2的用户上下文以及新凭据来调用changePassword
API。
1.服务名称:PasswordResetManagement
操作:getToken
子网址:/jsonsdk/PasswordResetManagement/getToken
API参数:
cobSessionToken
有效的Cobrand会话令牌
Username
有效用户名
示例API响应:
{"validUntil":"2014-05-23T18:15:16+0530","username":"yodlee121","token":"364cb1d62f8380b7f3596e73f2179b4d"}
2.服务名称:PasswordResetManagement
操作:getPasswordResetUserContextFromToken
子网址:/jsonsdk/PasswordResetManagement/getPasswordResetUserContextFromToken
API参数:
cobSessionToken
有效的Cobrand会话令牌
令牌364cb1d62f8380b7f3596e73f2179b4d
示例API响应:
{"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.服务名称:PasswordResetManagement
操作:setSessionForValidToken
服务网址:/jsonsdk/PasswordResetManagement/setSessionForValidToken
API参数:
cobSessionToken
有效的Cobrand会话令牌
userSessionToken
密码重置用户会话令牌
令牌364cb1d62f8380b7f3596e73f2179b4d
示例API响应:
{}
4.服务名称:PasswordResetManagement
操作:changePassword
服务网址:/jsonsdk/PasswordResetManagement/changePassword
API参数:
cobSessionToken
有效的Cobrand会话令牌
userSessionToken
密码重置用户会话令牌
令牌364cb1d62f8380b7f3596e73f2179b4d
newCredentials.objectInstanceType
com.yodlee.ext.login.PasswordCredentials
newCredentials.password
新密码
示例API响应:
{"loginName":"raja12345","password":"raja@12345"}