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