对于一个简单的概念证明,我正在配置一个 Django 应用程序以通过python-social-auth
. 注意:我是 Django 的新手,所以仍在尝试解决问题...
auth 方案依赖于带外帐户同步——即只允许现有用户,并且不自动创建新用户。但是,记录在案的“仅关联”的管道配置似乎并没有像我想象的那样工作(在与get_username
and进行各种组合之后social_uid
);我只能在创建自己的管道方法以返回带有“用户”键的字典后才能使其工作。
我从 http://psa.matiasaguirre.net/docs/pipeline.html#authentication-pipeline开始使用这个配置:
SOCIAL_AUTH_PIPELINE = (
'social.pipeline.social_auth.social_user',
'social.pipeline.social_auth.associate_user',
'social.pipeline.social_auth.load_extra_data',
'social.pipeline.user.user_details'
)
但是如果没有“用户”键,前两个 -social_user
和associate_user
- 似乎不起作用。在没有关于如何填充“用户”键的任何其他指导的情况下,我想出了:
SOCIAL_AUTH_PIPELINE = (
'ccpoc.auth.load_user',
'social.pipeline.social_auth.associate_user',
)
哪里load_user
知道根据 JSON 中返回的自定义键来查找当前用户。虽然它有效,但我不确定这是否在框架的“精神”中,或者我只是错过了一些东西。