【发布时间】:2016-08-06 11:33:47
【问题描述】:
我目前有一个利用 Django REST 框架的大型 Django 项目。
我有另一个较小的 Django 项目,我想在主项目的基础上构建它,它不直接共享数据库,而是通过 API 获取必要的数据。
我想覆盖较小项目的 AUTHENTICATION_BACKEND 并让它使用较大项目的 API auth 端点作为身份验证器。
基本上流程如下:
- 用户尝试在大型 Django-DRF 项目中使用其用户的凭据登录小型 Django 项目。
- 小型 Django 项目向大型 Django-DRF 项目发送 API 登录请求。
- 大型 Django-DRF 项目返回 API 令牌和序列化的用户信息。
- 小型 Django 项目使用来自大型 Django-DRF 项目响应的信息自动将用户添加/更新到其数据库。
- 小型 Django 项目使用令牌响应用户客户端,以便可以将来自小型 Django 项目页面的 AJAX 请求直接发送到大型 Django-DRF 项目的端点。
是否存在值得为此用例利用的现有插件,还是我应该编写自己的 AUTHENTICATION_BACKEND?
【问题讨论】:
-
如果您的 DRF 应用程序符合 Oauth2 或某些其他标准身份验证方案,您应该能够轻松找到后端。如果不是,您最好自己编写。这并不难。
标签: django django-rest-framework django-rest-auth