问题标签 [django-allauth]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - Django allauth 范围 SOCIALACCOUNT_PROVIDERS 文档
我是 OAuth 和django-allauth
插件的新手,到目前为止,很难在提到的插件上找到合适的文档。我在这里的一些问题中找到了许多分散的帮助,并从repo中阅读了一些代码,但有些东西我还没有找到。现在,我试图根据与用户关联extra_info
的对象中包含的内容来填充我的用户对象SocialAccount
。我的问题是我没有找到关于设置 SOCIALACCOUNT_PROVIDERS 的大量文档。到目前为止,我已经收集了一些有用的信息(主要来自这里)并具有以下设置:
它从 facebook 获取大部分所需信息,但从 twitter 获取,因为没有定义范围,它只获取用户的名称,但无法获取电子邮件以及我想知道的其他一些内容。
我在哪里可以找到为所有提供者定义此设置的大量文档,特别是哪些是放置在SCOPE
twitter 列表中的有效字符串?我怎样才能让 twitter 给我与以前设置从 facebook 获得的信息相同的信息(或关闭)?
谢谢你的帮助!
django - django-allauth google 集成给出“社交网络登录失败”错误
我正在开发一个外部站点以集成 django-allauth 以进行 facebook 和 google 登录。Facebook 几乎开箱即用。但是,使用 Google 时,我收到“社交网络登录失败”错误。
这是我所做的:
1.Google APIs 控制台:Web 应用程序配置的客户端 ID
2.在站点中创建learnbuzz.com站点
3.使用来自 google API 控制台的客户端 ID 和密码在社交应用程序中创建 google 应用程序。
从文档和其他一些 SO 问题来看,这似乎就是所需要的。
但是,当我使用谷歌登录时,我会进入accounts.google.com
要求用户接受“应用程序共享基本用户信息和电子邮件”的页面。在我接受后,它给了我这个网址的“社交网络登录失败”:
http://learnbuzz.com/accounts/google/login/callback/?state=l1WdxOgr26bB&code=4/lGhX6Dum_FNnM3FE39TcULZb1UMX.0jX6biQfm3MfEnp6UAPFm0F0CIGMgQI
我缺少什么配置?
编辑:我不知道这是否重要,但浏览器需要很长时间才能抛出此错误。
django-allauth - Django allauth - 具有自定义用户的多个社交帐户
我一直在尝试寻找如何使用django-allauth
. 到目前为止,我已经找到了这个问题,以及与我需要的其他问题相关的问题,但是建议的内容不起作用。
我正在使用一个自定义用户类,它通过电子邮件进行身份验证,一旦我成功创建了第一个社交帐户,它就不会让我添加另一个。我已尝试provider_login_url
按照上述答案之一的建议将其放入对用户进行身份验证的页面中,但它似乎会注销然后尝试再次注册,但是由于电子邮件相同,“它与现有用户的电子邮件冲突”。
我怎样才能得到预期的行为?也就是说,django-allauth
将电子邮件识别为属于现有用户,因此只创建socialaccount
一个新用户,而不是新用户。
django - Django 身份验证 - 在注册时修改现有用户
我正在用 django 建立一个照片共享站点,允许用户创建组来共享照片。我在创建一个合适的用户数据模型/逻辑来满足我的所有要求时遇到问题。
基本要求是:
- 允许用户 A 创建一个组,他可以在其中添加其他用户(用户 B)
- 如果必须添加到组的用户 B 已经存在,那么我们将使用这个现有的用户 B 添加到代表组的组模型的 manytomany 字段
- 如果用户 B 不存在,我们将创建一种“虚拟”用户。将 user_active 设置为 false。这是因为用户 B 尚未设置任何类型的验证或密码。
现在,如果新添加的用户 B 想要注册到该站点,而不是创建新用户,我想使用注册表单中提供的数据更改现有用户。
我想提一下,我还计划将 django-allauth 用于社交帐户用户。
我的问题(考虑到 Django 1.5)是如何使其工作的首选方式:
这是我应该创建自己的用户管理器还是应该研究身份验证后端?在这一点上我真的迷路了。
下图代表了两种情况,注册用户并将用户添加到组中:
更新:
所以我尝试了以下操作,创建了自定义用户模型,在 __new__ 方法中,如果相关对象已经存在并且 is_active 设置为 False,我将返回它。下面是 UserManager 和 user 模型:
无论如何,我现在遇到的奇怪问题是我无法连接到管理站点,这给了我以下错误:
我跟踪了 django,似乎查询集以某种方式向左移动:
但是mysql中的数据是正确的:
这是尝试登录管理员时的回溯:
同样在 pdb 中有趣的是 self.user.id 在这种情况下应该是 1 正在返回“root”。似乎 django 以某种方式弄乱了我的 pk 在这个模型中的内容,即使我在模型中指定了它:
python - Django-allauth 注册、登录和社交连接到一个页面
您如何使用 django-allauth 将社交登录、登录表单和注册表单加载到您的索引页面?类似于访问 facebook.com 时的情况。
帐户/网址已经在工作,我尝试复制
到我的 index.html 但它不起作用。我是 Python 编程和 Django 开发的新手,但我已经对 Django Book 中的教程做了一些练习。
django - Django AllAuth 静态文件未显示
我正在尝试安装django-allauth,但在安装应用程序、身份验证后端和上下文处理器后,django 不再能够找到我的文件。
在这被标记为欺骗之前,我确实列出了所有默认的上下文处理器。这是这两个问题的问题:
Django 使用 django-allauth 时无法找到静态文件
一些设置:
正如你所看到的,我已经包含了所有默认的上下文处理器,所以我不是简单地覆盖上下文处理器元组。上下文处理器或我安装的应用程序的顺序是否重要?我所有的静态文件都是事先工作的,当我添加 django-allauth 并使用./manage.py runserver
.
我正在使用 Django 1.4.6
python - django-allauth:仅在非社交注册时验证电子邮件
我正在使用django-allauth
插件。它允许通过ACCOUNT_EMAIL_VERIFICATION
设置变量配置电子邮件验证,但它不区分普通注册和社交注册。我只想在通过普通注册注册时验证电子邮件,在通过社交注册提交时不验证。是否可以?我该怎么做?
python - 如何覆盖 django-allauth 中的模板?
其他问题的答案给人的印象是这实际上很容易:
但是,我根本无法让它工作。
从示例应用程序设置中,我可以看到 django-allauth 应该期望它的模板位于account
,openid
和socialaccount
目录中。但是当我将模板放在TEMPLATE_DIR/account/signup.html
它没有被加载时,signup
视图会显示与 django-allauth 捆绑在一起的模板。我想念什么?
python - 用于用户注册最佳实践的 django 魔术网址
在 django 中为用户注册创建“魔术”网址的最佳做法是什么?目前,我们将allauth用于用户注册部分。我将使用组作为示例。您有一个组,并且您想轻松地邀请新用户加入该组。所以我们为每个组生成一个唯一的字符串,然后是一个相关的 url。
然后,您可以与新朋友分享该网址。他们访问该网址的意图是最终到达新的用户注册页面。一旦他们注册,他们就是该组的一部分。
对此有最佳做法吗?我已经将它构建到我们生成唯一组 url 的位置。当用户点击该视图时,我们是否应该将其存储在会话中,将其隐藏在用户注册表单中等等。 PS,我不完全是如何使用 allauth 隐藏和处理隐藏的表单元素。
python - 自定义用户模型 django-allauth 的 AssertionError
我是 django 的新手,最近我决定集成 django allauth 以使用登录(facebook 和 google+),我使用自定义模型(django 1.5)和一对一的用户配置文件模型,我的自定义模型类看起来
和我的用户资料:
这里是 django allauth local_settings 文件:
使用此配置,我遇到了 django allauth 的两个问题:
*)它不允许重复的用户名 *)应用程序在注册过程中崩溃(似乎用户帐户必须处于活动状态才能继续登录)