【发布时间】:2011-07-16 01:43:07
【问题描述】:
我一直在使用 django-social-auth (https://github.com/omab/django-social-auth),并取得了一些成功 - 从 Twitter 和 Facebook 登录已经很容易设置。但是,当我从一些 OpenID 提供商登录时,我会遇到用户名的空变量,而 social-auth 应用程序允许这样做(尽管我设置了 SOCIAL_AUTH_DEFAULT_USERNAME)。
虽然如果 SOCIAL_AUTH_DEFAULT_USERNAME 工作正常,这可能是一个临时解决方案,但理想情况下,我宁愿它是从 openID 提供程序自动设置的。基本上,我有两种可能的解决方案:
1) 创建一个自定义方法来提取从 openID 提供程序发送的一些额外数据,以从中设置用户名。 2) 强制用户在首次登录时设置用户名。
虽然 (2) 不太优雅,但它确保每次都插入用户名,并且还避免了对可能不适合用户名格式的自动信息进行一些后处理的需要。
我的问题相当于,我该如何实施上述任何一项!不需要完整的答案,但非常感谢指向方法的指针!
另一种方法是使用 django-socialregistration,看看这是否让生活更轻松!
J
【问题讨论】:
标签: python django django-socialauth socialauth