微信小程序請求API接口PHPSESSID變化的解決方式

微信小程序開發,請求服務器API的方法使用的是微信官方提供的wx.request()方法。在開發中發現,每個請求都會生成一個獨立的PHPSESSID,以下圖示:小程序

搜索後得知,這是因爲wx.request()形成的。若是直接使用瀏覽器請求並不會出現這種狀況。微信小程序

解決方式以下:瀏覽器

  經過登陸接口獲取到用戶的session_key 和 open_id,設置session信息以下:服務器

  $3rd_session = md5(session_key . $open_id)
  $_SESSION[$3rd_session ] = session_key . '|' . $open_id;

  服務器生成此用戶的session_id,接口返回 3rd_session 和 session_id。微信

  在其餘接口請求中,在header中設置cookie的值:session_id:cookie

  header = header || {
      'content-type': 'application/x-www-form-urlencoded;',
      'Cookie': 'PHPSESSID=session_id值'
  }           

  並在接口中帶上參數session=3rd_session,此時服務端獲取到的就是同一個session_id,根據3rd_session從$_SESSION獲得用戶的openidsession

相關文章
相關標籤/搜索