我有一个用Django构建的webapp.它适用于网络,但现在我正在构建一个Android应用程序.我不确定如何安全地验证Django后端的Android应用程序.
此webapp具有用户配置文件.用户可以使用Web界面注册/登录/注销. urls.py的相关部分如下所示:
urlpatterns += patterns('',
url(r'^accounts/login/$', 'django.contrib.auth.views.login', name='login'),
url(r'^accounts/logout/$', 'django.contrib.auth.views.logout', name="logout"),
)
我的理解是,在用户成功完成帐户/登录后,浏览器上存放了一些用于其余连接的cookie.它是否正确?
在Android设备上,给定用户名和密码,用户向Django后端验证用户的正确或最佳方式是什么?我是否需要像在浏览器中那样获取cookie或者有更好的方法吗?
解决方法:
有几种方法可以进行身份验证,但使用现有的Django会话支持及其使用的cookie可能是最好的方法.
当你连接到启用了Session Middleware的Django页面(你需要登录)时,它会设置一个会话cookie(通常称为’sessionid’,尽管是you can customise that).登录状态的用户(非)在服务器端存储在由此会话ID链接的会话中(除非您使用的是cookie-based sessions,但这是另一个帖子的项目).
因此,您的Android应用程序可以获取登录页面,删除sessionid(和csrftoken)cookie,然后使用用户名,密码,sessionid和csrftoken发布帖子.
这是简单的方法.还有更复杂的选项,主要涉及制作一个自定义视图,可以回放JSON,并且通常开始为您的移动应用程序提供API,而不是让它们假装它们是浏览器,但这在Django方面有点复杂.
原文地址:https://codeday.me/bug/20190517/1123986.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。