UC 修改密码同步到其他应用

0 Share

UC 修改密码同步到其他应用

最近在做网站与UC整合和工作。这个工作的难点在于,我们希望在自己的网站中保存用户密码。UC原本的机制中,并没有在注册和修改用户资料时,向应用发送密码信息。 先是在论坛中找到了一个贴子:<a href="http://www.discuz.net/thread-1696726-1-1 click over here.html" onclick= ...

最近在做网站与UC整合和工作。这个工作的难点在于,我们希望在自己的网站中保存用户密码。UC原本的机制中,并没有在注册和修改用户资料时,向应用发送密码信息。

先是在论坛中找到了一个贴子:<a href="http://www.discuz.net/thread-1696726-1-1 click over here.html" onclick="_gaq.push(['_trackEvent', 'outbound-article', 'http://www.discuz.net/thread-1696726-1-1.html', '修改密码后同步到其他应用']);" target="_blank">修改密码后同步到其他应用。

discuz修改密码后将修改密码和email的信息通过ucclient传递给ucenter,
ucenter在收到消息后将消息存入cdb_uc_notelist表,
而后从cdb_uc_notelist取出一条close为0的记录,逐一向各个应用发送修改密码的通知。
各位朋友在调试时记得核对下表cdb_uc_notelist中是否有多条close为0的记录影响调试。

适用于程序版本:UCenter 1.5.2 Release 20101001

Ucenter 修改密码同步到其他应用

修改 uc_server/control/admin/user.php

$_ENV['note']->add('updatepw', 'username='.urlencode($username).'&password=');

$_ENV['note']->add('updatepw', 'username='.urlencode($username).'&password='.urlencode($orgpassword).'&email='.urlencode($email));

Discuz 修改密码同步到其他应用

修改 uc_client/control/user.php 100行

$_ENV['note']->add('updatepw', 'username='.urlencode($username).'&password=');

$_ENV['note']->add('updatepw', 'username='.urlencode($username).'&password='.urlencode($newpw).'&email='.urlencode($email));

这样,在第三方应用中,就可以利用 API 来获取其他应用中修改的明文信息了。

Leave a reply

Your email address will not be published.