微博第三方登入使用social_django實現顯示登陸的使用者名稱
阿新 • • 發佈:2018-11-29
首先修改social_soce原始碼,將使用者資訊新增進cookie
payload = jwt_payload_handler(user)
response.set_cookie('user_name',user.username,max_age=24*3600)
response.set_cookie('user_id', user.id,max_age=24*3600)
response.set_cookie('token',jwt_encode_handler(payload),max_age=24*3600)
return response
然後在前端頁面獲取Cookie資訊:
getCookie: function (cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1);
if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
}
return "";
},
將其修改為:
response = backend.strategy.redirect(url)payload = jwt_payload_handler(user)
response.set_cookie('user_name',user.username,max_age=24*3600)
response.set_cookie('user_id', user.id,max_age=24*3600)
response.set_cookie('token',jwt_encode_handler(payload),max_age=24*3600)
return response
然後在前端頁面獲取Cookie資訊:
getCookie: function (cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1);
if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
}
return "";
},