同步登陆 wap4.3->develop/wap
Showing
6 changed files
with
27 additions
and
107 deletions
@@ -17,6 +17,7 @@ use Yaf\Dispatcher; | @@ -17,6 +17,7 @@ use Yaf\Dispatcher; | ||
17 | use Plugin\Cache; | 17 | use Plugin\Cache; |
18 | use Plugin\Helpers; | 18 | use Plugin\Helpers; |
19 | use Hood\Session; | 19 | use Hood\Session; |
20 | +use LibModels\Wap\Passport\LoginData; | ||
20 | 21 | ||
21 | class AbstractAction extends Controller_Abstract | 22 | class AbstractAction extends Controller_Abstract |
22 | { | 23 | { |
@@ -318,6 +319,22 @@ class AbstractAction extends Controller_Abstract | @@ -318,6 +319,22 @@ class AbstractAction extends Controller_Abstract | ||
318 | } | 319 | } |
319 | 320 | ||
320 | /** | 321 | /** |
322 | + * 登录完成后置cookie-_UID,session | ||
323 | + */ | ||
324 | + protected function syncUserSession($uid) | ||
325 | + { | ||
326 | + $userInfo = LoginData::profile($uid); | ||
327 | + $token = Helpers::makeToken($uid); | ||
328 | + if (isset($userInfo['data']) && $userInfo['data']) { | ||
329 | + $uidCookie = $userInfo['data']['profile_name'] . '::' . $userInfo['data']['uid'] . '::' . $userInfo['data']['vip_info']['title'] . '::' . $token; | ||
330 | + $this->setCookie('_UID', $uidCookie); | ||
331 | + } | ||
332 | + $this->setSession('_TOKEN', $token); | ||
333 | + $this->setSession('_LOGIN_UID', $uid); | ||
334 | + $this->setCookie('_TOKEN', $token); | ||
335 | + } | ||
336 | + | ||
337 | + /** | ||
321 | * 获取当前登录的用户ID | 338 | * 获取当前登录的用户ID |
322 | * | 339 | * |
323 | * @param bool $useSession (true:从服务端session中检查, false:从客户端cookie中检查) | 340 | * @param bool $useSession (true:从服务端session中检查, false:从客户端cookie中检查) |
@@ -804,70 +804,6 @@ class Helpers | @@ -804,70 +804,6 @@ class Helpers | ||
804 | } | 804 | } |
805 | 805 | ||
806 | /** | 806 | /** |
807 | - * 同步用户的会话 | ||
808 | - * | ||
809 | - * 转向老的PHP服务器上处理, 因购物车相关的操作会依赖SESSION | ||
810 | - * | ||
811 | - * @param int $uid 用户ID | ||
812 | - * @param string $refer 访问来源 | ||
813 | - * @param string $callback 回调方法名 | ||
814 | - * @return string | ||
815 | - */ | ||
816 | - public static function syncUserSession($uid, $refer = '', $callback = 'call') | ||
817 | - { | ||
818 | - $url = ''; | ||
819 | - switch (APPLICATION_ENV) { | ||
820 | - case 'production': | ||
821 | - $url = 'https://login.m.yohobuy.com'; //$url = 'http://mapi.yohobuy.com'; | ||
822 | - break; | ||
823 | - case 'preview': | ||
824 | - $url = 'https://login.m.yohobuy.com'; | ||
825 | - break; | ||
826 | - case 'testing': | ||
827 | - $url = 'http://m1.yohobuy.com'; | ||
828 | - break; | ||
829 | - default: | ||
830 | - $url = 'http://m1.yohobuy.com'; | ||
831 | - break; | ||
832 | - } | ||
833 | - $url .= '/Passport/session/index?callback=' . $callback . '&sign=' . md5(md5($uid . 'Js8Yn0!EwPM45-ws')) . '&uid=' . $uid . '&go=' . $refer; | ||
834 | - | ||
835 | - return $url; | ||
836 | - } | ||
837 | - | ||
838 | - /** | ||
839 | - * 退出清除用户的会话 | ||
840 | - * | ||
841 | - * 转向老的PHP服务器上处理, 因购物车相关的操作会依赖SESSION | ||
842 | - * | ||
843 | - * @param int $token 用户ID | ||
844 | - * @param string $refer 访问来源 | ||
845 | - * @param string $callback 回调方法名 | ||
846 | - * @return string | ||
847 | - */ | ||
848 | - public static function logoutSession($token, $refer = '', $callback = 'call') | ||
849 | - { | ||
850 | - $url = ''; | ||
851 | - switch (APPLICATION_ENV) { | ||
852 | - case 'production': | ||
853 | - $url = 'http://mapi.yohobuy.com'; | ||
854 | - break; | ||
855 | - case 'preview': | ||
856 | - $url = 'http://mapi.yohobuy.com'; | ||
857 | - break; | ||
858 | - case 'testing': | ||
859 | - $url = 'http://m1.yohobuy.com'; | ||
860 | - break; | ||
861 | - default: | ||
862 | - $url = 'http://m1.yohobuy.com'; | ||
863 | - break; | ||
864 | - } | ||
865 | - $url .= '/Passport/session/logout?callback=' . $callback . '&sign=' . md5(md5('Js8Yn0!EwPM45-ws')) . '&token=' . $token . '&go=' . $refer; | ||
866 | - | ||
867 | - return $url; | ||
868 | - } | ||
869 | - | ||
870 | - /** | ||
871 | * 根据skc获取商品链接 | 807 | * 根据skc获取商品链接 |
872 | * @param unknown $productSkc | 808 | * @param unknown $productSkc |
873 | * @return string | 809 | * @return string |
@@ -162,7 +162,7 @@ function reMarginFooter(fixedElement) { | @@ -162,7 +162,7 @@ function reMarginFooter(fixedElement) { | ||
162 | $op.prepend( | 162 | $op.prepend( |
163 | '<span>Hi,</span>' + | 163 | '<span>Hi,</span>' + |
164 | '<a class="user-name" href="http://m.yohobuy.com/home?tmp=' + Math.random() + '">' + user[0] + '</a>' + | 164 | '<a class="user-name" href="http://m.yohobuy.com/home?tmp=' + Math.random() + '">' + user[0] + '</a>' + |
165 | - '<a href="http://m.yohobuy.com/passport/signout/index?token=' + user[3] + '">退出</a>' | 165 | + '<a href="http://m.yohobuy.com/passport/signout/index">退出</a>' |
166 | ); | 166 | ); |
167 | } | 167 | } |
168 | 168 |
@@ -254,11 +254,7 @@ class BindController extends AbstractAction | @@ -254,11 +254,7 @@ class BindController extends AbstractAction | ||
254 | $refer = empty($refer) ? rawurldecode(Helpers::url('', array(), 'default')) : rawurldecode($refer); | 254 | $refer = empty($refer) ? rawurldecode(Helpers::url('', array(), 'default')) : rawurldecode($refer); |
255 | 255 | ||
256 | if (isset($res['code']) && $res['code'] == 200 && !empty($res['data']['uid'])) { | 256 | if (isset($res['code']) && $res['code'] == 200 && !empty($res['data']['uid'])) { |
257 | - $token = Helpers::makeToken($res['data']['uid']); | ||
258 | - $this->setSession('_TOKEN', $token); | ||
259 | - $this->setSession('_LOGIN_UID', $res['data']['uid']); | ||
260 | - $this->setCookie('_TOKEN', $token); | ||
261 | - $refer = Helpers::syncUserSession($res['data']['uid'], $refer); | 257 | + $this->syncUserSession($res['data']['uid']); |
262 | $data = array('code' => $res['code'], 'message' => $res['message'], 'data' => array('refer' => $refer)); | 258 | $data = array('code' => $res['code'], 'message' => $res['message'], 'data' => array('refer' => $refer)); |
263 | } | 259 | } |
264 | else { | 260 | else { |
@@ -305,13 +301,9 @@ class BindController extends AbstractAction | @@ -305,13 +301,9 @@ class BindController extends AbstractAction | ||
305 | } | 301 | } |
306 | 302 | ||
307 | if (isset($res['code']) && $res['code'] == 200 && !empty($res['data']['uid'])) { | 303 | if (isset($res['code']) && $res['code'] == 200 && !empty($res['data']['uid'])) { |
308 | - $token = Helpers::makeToken($res['data']['uid']); | ||
309 | - $this->setSession('_TOKEN', $token); | ||
310 | - $this->setSession('_LOGIN_UID', $res['data']['uid']); | ||
311 | - $this->setCookie('_TOKEN', $token); | 304 | + $this->syncUserSession($res['data']['uid']); |
312 | $successUrl = Helpers::url('/passport/bind/success', array('sourceType' => $sourceType)); | 305 | $successUrl = Helpers::url('/passport/bind/success', array('sourceType' => $sourceType)); |
313 | - $refer = Helpers::syncUserSession($res['data']['uid'], $successUrl); | ||
314 | - $data = array('code' => $res['code'], 'message' => $res['message'], 'data' => array('refer' => $refer)); | 306 | + $data = array('code' => $res['code'], 'message' => $res['message'], 'data' => array('refer' => $successUrl)); |
315 | } | 307 | } |
316 | else { | 308 | else { |
317 | $data = array('code' => $res['code'], 'message' => $res['message'], 'data' => ''); | 309 | $data = array('code' => $res['code'], 'message' => $res['message'], 'data' => ''); |
@@ -91,11 +91,6 @@ class LoginController extends AbstractAction | @@ -91,11 +91,6 @@ class LoginController extends AbstractAction | ||
91 | $this->setCookie('_SPK', ''); | 91 | $this->setCookie('_SPK', ''); |
92 | 92 | ||
93 | $refer = $this->server('HTTP_REFERER', SITE_MAIN); | 93 | $refer = $this->server('HTTP_REFERER', SITE_MAIN); |
94 | - $token = $this->get('token'); | ||
95 | - if (!empty($token)) { | ||
96 | - $this->go(Helpers::logoutSession($token, $refer)); | ||
97 | - } | ||
98 | - | ||
99 | $this->go($refer); | 94 | $this->go($refer); |
100 | } | 95 | } |
101 | 96 | ||
@@ -155,13 +150,9 @@ class LoginController extends AbstractAction | @@ -155,13 +150,9 @@ class LoginController extends AbstractAction | ||
155 | else { | 150 | else { |
156 | $refer = rawurldecode($refer); | 151 | $refer = rawurldecode($refer); |
157 | } | 152 | } |
158 | - $data['data']['session'] = Helpers::syncUserSession($data['data']['uid']); | 153 | + $this->syncUserSession($data['data']['uid']); |
154 | + $data['data']['session'] = $refer; | ||
159 | $data['data']['href'] = $refer; | 155 | $data['data']['href'] = $refer; |
160 | - | ||
161 | - $token = Helpers::makeToken($data['data']['uid']); | ||
162 | - $this->setCookie('_TOKEN', $token); | ||
163 | - $this->setSession('_TOKEN', $token); | ||
164 | - $this->setSession('_LOGIN_UID', $data['data']['uid']); | ||
165 | } | 156 | } |
166 | while (false); | 157 | while (false); |
167 | 158 | ||
@@ -231,16 +222,10 @@ class LoginController extends AbstractAction | @@ -231,16 +222,10 @@ class LoginController extends AbstractAction | ||
231 | } | 222 | } |
232 | 223 | ||
233 | if (isset($result['code']) && $result['code'] == 200 && !empty($result['data']['uid'])) { | 224 | if (isset($result['code']) && $result['code'] == 200 && !empty($result['data']['uid'])) { |
234 | - $token = Helpers::makeToken($result['data']['uid']); | ||
235 | - $this->setSession('_TOKEN', $token); | ||
236 | - $this->setSession('_LOGIN_UID', $result['data']['uid']); | ||
237 | - $this->setCookie('_TOKEN', $token); | ||
238 | - $this->go(Helpers::syncUserSession($result['data']['uid'], $refer)); | 225 | + $this->syncUserSession($result['data']['uid']); |
239 | } | 226 | } |
240 | - else { | ||
241 | $this->go($refer); | 227 | $this->go($refer); |
242 | } | 228 | } |
243 | - } | ||
244 | 229 | ||
245 | /** | 230 | /** |
246 | * QQ账号登录:回调方法 | 231 | * QQ账号登录:回调方法 |
@@ -271,16 +256,10 @@ class LoginController extends AbstractAction | @@ -271,16 +256,10 @@ class LoginController extends AbstractAction | ||
271 | } | 256 | } |
272 | 257 | ||
273 | if (isset($result['code']) && $result['code'] == 200 && !empty($result['data']['uid'])) { | 258 | if (isset($result['code']) && $result['code'] == 200 && !empty($result['data']['uid'])) { |
274 | - $token = Helpers::makeToken($result['data']['uid']); | ||
275 | - $this->setSession('_TOKEN', $token); | ||
276 | - $this->setSession('_LOGIN_UID', $result['data']['uid']); | ||
277 | - $this->setCookie('_TOKEN', $token); | ||
278 | - $this->go(Helpers::syncUserSession($result['data']['uid'], $refer)); | 259 | + $this->syncUserSession($result['data']['uid']); |
279 | } | 260 | } |
280 | - else { | ||
281 | $this->go($refer); | 261 | $this->go($refer); |
282 | } | 262 | } |
283 | - } | ||
284 | 263 | ||
285 | /** | 264 | /** |
286 | * 新浪微博账号登录:回调方法 | 265 | * 新浪微博账号登录:回调方法 |
@@ -294,13 +294,9 @@ class RegController extends AbstractAction | @@ -294,13 +294,9 @@ class RegController extends AbstractAction | ||
294 | } else { | 294 | } else { |
295 | $refer = rawurldecode($refer); | 295 | $refer = rawurldecode($refer); |
296 | } | 296 | } |
297 | - $data['data']['session'] = Helpers::syncUserSession($data['data']['uid']); | 297 | + $this->syncUserSession($data['data']['uid']); |
298 | + $data['data']['session'] = $refer; | ||
298 | $data['data']['href'] = $refer; | 299 | $data['data']['href'] = $refer; |
299 | - | ||
300 | - $token = Helpers::makeToken($data['data']['uid']); | ||
301 | - $this->setCookie('_TOKEN', $token); | ||
302 | - $this->setSession('_TOKEN', $token); | ||
303 | - $this->setSession('_LOGIN_UID', $data['data']['uid']); | ||
304 | } while (false); | 300 | } while (false); |
305 | 301 | ||
306 | $this->echoJson($data); | 302 | $this->echoJson($data); |
-
Please register or login to post a comment