Django、Angular和DRF:与Django后端或API进行身份验证

6
我正在使用Django作为后端、Angular作为前端,并使用Django REST Framework构建REST API以供Angular消费。当我仍在使用基本的前端时,我使用提供的Django认证来处理用户认证,但是现在我创建了一个基于REST的应用程序,我不确定如何处理身份验证。
由于所有用户数据都将通过API检索或提交,API身份验证是否足够?如果是这样,我需要删除现有的Django身份验证中间件吗?
现在,当我尝试在应用程序的早期版本上访问API端点时,我被重定向到看起来像正常的Django登录表单的页面。如果我输入有效的用户名和密码,它不起作用,只提示重新登录。删除基本的Django身份验证是否可以防止这种情况发生?我想要提示登录,但是我不确定如何处理这些技术。
django-rest-auth包似乎很有用,同一组人还制作了一个Angular模块,但是文档并没有超出安装和提供的端点。最终,我认为这个问题的核心是:我如何完全切换身份验证,使其不再依赖Django提供的内容,而是使用类似django-rest-auth或DRF推荐的其他第三方包之一?
编辑:我在下面发表了这条评论,但我意识到我需要弄清楚如何工作的组合身份验证。我没有构建单页应用程序,因此将从Django提供各个基本页面,但是每个页面都会调用各种API端点以检索所需的数据。是否有一种方法可以让类似django-rest-auth的东西处理所有身份验证?

你有可以展示的代码库吗?django-rest-auth基本上是即插即用的,应该很容易适用于你的用例。 - Shantanu Goel
我可以在回家后添加代码,但最有用的是显示什么?我确实尝试过django-rest-auth-它很容易安装,但我不清楚如何删除其他身份验证并仅使用其端点。 - dkhaupt
实际上,我决定不采用单页面应用程序实现。各个页面将访问各种端点并具有响应性,但某些页面转换将需要重新加载。这意味着我实际上需要同时使用两种类型的身份验证,对吗?也许我需要重新制定这个问题,或者只是再次提出更详细的问题。 - dkhaupt
1个回答

0
对于任何偶然发现这个问题的人,我无法弄清如何使混合方法起作用。让Django提供包含API调用的页面似乎还可以,但我从未看到任何请求发送到API-我相信这是由于其他安全问题所致。我相信这是可能的,但最终我决定采用单页应用程序实现来简化事情。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接