Enable oauth login with django-allauth but a custom provider

时间:2016-06-07 22:26:19

标签: python django oauth django-allauth oauth-provider

I have built an oauth provider using django-oauth-toolkit

我现在想允许我的客户端应用程序的用户通过此提供程序登录。

我的理解是django-allauth是理想的工具。

我看到django-allauth为每个提供程序都有一个特殊的文件夹,在这个文件夹中有一个名为provider.py的特殊文件。例如,this是github提供程序的文件夹。

我应该创建类似于此文件夹的内容,特别是我的自定义提供程序吗?或者有更简单/更好的方法吗?

2 个答案:

答案 0 :(得分:1)

根据文档说明,它会根据INSTALLED_APPS发现新的提供者。因此,您需要一个具有相同结构的Django应用程序,并包含providers.py。因此,您应该能够使用新应用程序或现有应用程序。

这来自docs

  

如果现有提供商不能满足您的需求,您可能会这样做   发现自己需要定制提供商。

     

这可以通过继承现有提供商并进行制作来实现   你在那里的变化。提供者被定义为django应用程序,所以   通常定制一个将意味着创建一个django应用程序   您的项目,包含您自定义的urls.py,views.py和   provider.py文件。您可以自定义的行为超出了   本文档的范围。

另外,有关providers.py文件内容的说明:

  

在provider.py文件中,您需要公开提供程序类   通过使用名为provider_classes的模块级属性   列表中的自定义类。这允许您的自定义提供程序   根据INSTALLED_APPS设置正确注册。

答案 1 :(得分:0)