【问题标题】:Django Integrating Python Social Auth And The Default Auth With A Custom User Model:Django 将 Python 社交身份验证和默认身份验证与自定义用户模型集成:
【发布时间】:2015-08-05 03:09:48
【问题描述】:

我正在处理一个项目,该项目要求一些用户通过 facebook 进行身份验证,而其他用户则使用自定义模型进行注册。 facebook 用户将不会拥有与自定义模型相同的注册凭据。例如 - 会有一个餐厅老板注册和一个客户注册。客户不必输入街道地址位置,他们只需登录即可。

我的意图是让餐厅老板通过自定义配置文件模型注册,让 facebook 用户通过默认社交身份验证简单地登录,但每当我将两者结合起来时,社交身份验证就会开始使用自定义模型,因为我定义了一个设置中的自定义用户模型。有没有办法区分 python 社交身份验证后端仅使用默认值或更新我当前的自定义用户模型以拥有 facebook 段的方法。为此我在网上搜索了很长时间,但除了(1)之外似乎找不到任何可以将两者结合起来的东西,但它没有成功。但是,根据我是否在我的 settings.py 文件中指定用户模型,我可以使其中一个或另一个成功工作。

这很简单,但我不知道如何让社交身份验证查看其默认值,让 djangos 身份验证查看我的自定义模型。

(1)-http://code.techandstartup.com/django/profiles/

【问题讨论】:

    标签: django facebook-authentication python-social-auth


    【解决方案1】:

    为了区分一种类型的用户,你可以这样做:

    首先,在您的设置文件中,存储以下内容:

    FIELDS_STORED_IN_SESSION = ['type']
    

    这将存储在管道的每个函数中的strategy参数中

    然后,在必要时更改管道。例如,在您的 create_user 管道函数中,您可以这样做:

    user_type = strategy.session_get('type')
    
    if user_type != 'customuser':
        return {
            'is_new': True,
            'user': strategy.create_user(**fields)
        }
    else:
        return {
            'is_new': True,
            'user': create_restaurant(**fields)
        }
    

    【讨论】:

      猜你喜欢
      • 2014-10-14
      • 1970-01-01
      • 1970-01-01
      • 2021-01-19
      • 2021-08-14
      • 2021-01-09
      • 1970-01-01
      • 1970-01-01
      • 2013-03-01
      相关资源
      最近更新 更多