Django、Angular 和 DRF:对 Django 后端的身份验证与 API
Django, Angular, & DRF: Authentication to Django backend vs. API
我正在使用 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 推荐的其他第 3 方包之一?
edit:我在下面发表了评论,但我意识到我需要弄清楚组合身份验证将如何工作。我不是在构建单页应用程序,因此各个基本页面将从 Django 提供服务,但每个页面都会访问各种 API 端点以检索所需的数据。有没有办法让 django-rest-auth 处理 all 身份验证?
对于偶然发现这个问题的任何人,我无法弄清楚如何使混合方法起作用。让 Django 提供每个包含 API 调用的页面似乎没问题,但我从未看到对 API 发出的任何请求——我相信是由于其他一些安全问题。我确信这是可能的,但我还是决定采用单页应用程序实现,以使事情变得更简单。
我正在使用 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 推荐的其他第 3 方包之一?
edit:我在下面发表了评论,但我意识到我需要弄清楚组合身份验证将如何工作。我不是在构建单页应用程序,因此各个基本页面将从 Django 提供服务,但每个页面都会访问各种 API 端点以检索所需的数据。有没有办法让 django-rest-auth 处理 all 身份验证?
对于偶然发现这个问题的任何人,我无法弄清楚如何使混合方法起作用。让 Django 提供每个包含 API 调用的页面似乎没问题,但我从未看到对 API 发出的任何请求——我相信是由于其他一些安全问题。我确信这是可能的,但我还是决定采用单页应用程序实现,以使事情变得更简单。