【问题标题】:django-allauth: how to avoid requesting friends list?django-allauth:如何避免请求好友列表?
【发布时间】:2020-07-01 10:07:54
【问题描述】:

我已通过 Facebook 使用 django-allauth 设置用户注册。当我尝试使用 Facebook 登录时,Facebook 通知我该应用程序想要获取我的用户列表。但是,这些数据在登录后并没有存储在我的数据库中,也没有包含在我的 settings.py 中。 如何禁用要求好友列表?

settings.py 中的 Django-allauth 设置:

SOCIALACCOUNT_PROVIDERS = \
{
    'facebook':
       {'METHOD': 'oauth2',
        'SCOPE': ['email','public_profile', 'user_friends'],
        'AUTH_PARAMS': {'auth_type': 'reauthenticate'},
        'FIELDS': [
            'id',
            'email',
            'name',
            'first_name',
            'last_name',
            'verified',
            'locale',
            'timezone',
            'link',
            'gender',
            'updated_time'],
        'EXCHANGE_TOKEN': True,
        'LOCALE_FUNC': lambda request: 'path.to.callable',
        'VERIFIED_EMAIL': False,
        'VERSION': 'v2.4'},
    'google': {
        'SCOPE': ['https://www.googleapis.com/auth/userinfo.profile', 'https://www.googleapis.com/auth/userinfo.email'],
        'AUTH_PARAMS': {'access_type': 'online'},
        }
 }

【问题讨论】:

    标签: django facebook-login django-allauth


    【解决方案1】:

    去掉scope中的user_friends参数

    'SCOPE': ['email','public_profile', 'user_friends']

    'SCOPE': ['email','public_profile']

    所以它永远不会从facebook api获得所有朋友列表

    【讨论】:

    • 这太容易了...即使发帖,我也完全确定我已经删除了这个。谢谢...您还可以建议我应该如何使电子邮件字段成为必填项吗?虽然它在范围内,但用户仍然可以在登录时对其进行编辑,而无需提交他们的电子邮件。
    • 嗯,直到现在我还没有尝试过。但我会尽快对其进行测试。但我认为可能需要电子邮件字段。更多,我们需要遵循 API 文档
    猜你喜欢
    • 1970-01-01
    • 2017-05-18
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 2012-04-05
    相关资源
    最近更新 更多