使用来自Django应用的自定义身份验证来验证对Django Rest Framework的访问权限

时间:2019-06-03 15:16:57

标签: django django-rest-framework ldap django-authentication django-rest-auth

我已经在我的项目的一个(唯一)Django应用程序中实现了自定义身份验证系统 现在,我想打开我的站点以进行Api访问,有没有一种方法只能让Django应用程序中的用户访问此api。因为我不想重复(DRY),所以问是否有可能向后工作而不是用非常相似的代码覆盖Django rest身份验证

1 个答案:

答案 0 :(得分:0)

DRF的SessionAuthentication包含在默认DRF设置中,并且对已经熟悉登录您的站点的用户完全透明。您可以将其添加到DRF的身份验证器列表中:

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        # ...
        'rest_framework.authentication.SessionAuthentication',
    )
}

用户登录到您的站点时建立的会话现在也可以通过DRF的可浏览API和任何API调用对其进行身份验证。

更多信息:https://www.django-rest-framework.org/api-guide/authentication/#sessionauthentication


如果您要问的是如何执行 API密钥之类的事情,DRF的TokenAuthentication可以为您完成。您只需要在您的网站中添加一个视图即可允许用户检索其生成的令牌。

更多信息:https://www.django-rest-framework.org/api-guide/authentication/#tokenauthentication