如何从JavaScript访问Django登录的用户信息
How to access Django signed-in user information from the JavaScript?
我正在为我的Django网站做一个chrome扩展(带有链接提交功能)。我使用django-tastypie发布JavaScript中的链接。然而,我不知道如何从JavaScript访问django会话,以确定链接的提交者。使用console.log(document.cookie)
听起来不太可能,因为document.cookie显然是从当前页面访问cookie,而不是从我的django网站访问cookie。如有任何帮助,我们将不胜感激。
据我所知,有两种方法可以做到这一点。
-
在Django应用服务器端实现oAuth,并使用Javascript oAuth方法对用户进行身份验证。如果你还没有提供oAuth,这可能对你来说是一项艰巨的工作,所以这可能是一个坏主意。
-
将iframe与您网站上的页面一起使用。将内容脚本注入iframe并从中提取数据。您可能需要设置一个特定的端点。
在您的清单中使用匹配模式:
{
...,
"content_scripts": [
{
"matches": ["http://yoursite.com/api/extension"],
"js": ["content_script.js"],
"all_frames": true
}
],
...
}
由另一个内容脚本加载到iframe中的端点可能看起来像这样:
...
<div id="user_info">joe_user</div>
...
然后,您的脚本将提取#user_infodiv的textContent
,并将其发送到后台页面供您使用:
var elem = document.querySelector('#user_info');
chrome.extension.sendMessage({
text: elem.textContent
});
有关消息传递的更多信息,请参阅谷歌的消息传递文档。
我认为,如果你所需要的只是用户信息,这应该对你有用。不过我不会发送任何像这样的敏感信息。
相关文章:
- 需要提取当前登录用户的用户名以在字段中输入
- 如何获取登录用户的twitter oAuth令牌
- 如何向登录用户隐藏选择加入脚本
- 如何使用javascript确定登录用户的浏览器版本和IP地址
- 获取登录用户的电子邮件(Firebase安全规则)
- Facebook js-sdk可以't检索已登录用户的名称
- Sencha Touch 2-登录用户状态
- 在 SharePoint 中获取登录用户的用户名并立即使用它
- jQuery / bubbling - 如何为非登录用户停止我的 JavaScript 代码
- 如何在 Meteor 的服务器上创建用户帐户后自动登录用户
- 使用javascript基于登录用户重定向URL链接
- FB的替代内容,例如非登录用户的框
- 插座.IO - 同一登录用户在两个不同浏览器中使用 socket.id
- 骨干.js如何跟踪登录用户状态和有关应用程序结构的一般建议
- 执行流星重置时,登录用户的应用程序页面冻结
- 像Yelp和urbandictionary这样的网站如何防止非登录用户的双重投票
- 主干.js具有用于创建用户和登录用户的验证的模型
- 网站似乎在没有向服务器发送密码的情况下登录用户;这是怎么回事
- Express js会话——仅为登录用户创建
- 如何使用phonegap+quickblox注册/登录用户