问题标签 [python-social-auth]

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.

0 投票
0 回答
1209 浏览

django - 使用 Python Social Auth 自定义登录流程以实现无密码登录

对于我正在从事的 Django 项目,除了 python social auth 提供的社交身份验证方法之外,我还尝试实现和集成无密码身份验证流程。除了其他优点之外,这种方法对我来说最吸引人的部分是,它统一了注册和登录,就像其他社交身份验证后端一样。这提供了电子邮件身份验证的统一

每次用户想要登录(或注册)时,他们只需提交他们的电子邮件,通过电子邮件接收临时登录令牌,点击它,他们就进入了。一个持久的会话被启动,所以他们不需要做它经常。

如文档中所述,我正在使用自定义 EMAIL_VALIDATION_FUNCTION 发送电子邮件,并且它可以很好地发送令牌。我的管道如下所示:

单击身份验证链接时(即/complete/email/?validation_code=),管道从“social.pipeline.mail.mail_validation”恢复,并且存在身份验证失败的管道,并且执行永远不会到达我的自定义身份验证功能。

即使这样做了,我也不清楚如何访问验证结果并检查它是否正常。

与其尝试在管道上执行此操作,不如使用自定义视图执行此操作,而不是将用户定向到“/email/complete/”视图,而是将它们定向到我的视图并进行身份验证?

Python 社交身份验证因其灵活性而非常出色,但代价是复杂性。有时我会感到失落。感谢您的帮助。

0 投票
1 回答
833 浏览

sqlalchemy - SQLAlchemy:如何将关系定义为其他两个关系的联合?

我怎样才能实现一个自我引用的多对多关系,它实际上是两个其他关系的联合?

该关系应返回用户与网络中其他用户之间存在的所有 FacebookFriendship 模型。一个用户可能有一个指向另一个现有用户的 FacebookFriendship,但由于 FB API 中断、隐私控制等原因,现有用户对该用户的镜像 FBFriendship 可能不存在。

此关系查找从该用户指向任何现有用户的 FacebookFriendship 模型。

这种关系会找到指向该用户的 FacebookFriendship 模型。

我能够使用 hybrid_property 装饰器来表达联合查询,但这会阻止使用像 any() 这样的比较器或使用关联代理,至少从我能说的情况来看是这样。

最后,我想像任何其他 InstrumentedAttribute: 一样查询这种关系 UserSocialAuth.query.filter(UserSocialAuth.all_facebook_friendships.any()).all() ,并在 User 模型上定义一个 association_proxy:

User.all_facebook_friends = association_proxy('all_facebook_friendships', 'user')

很抱歉这个问题的长度,但我已经试错了几天,但无济于事。

有关的:

0 投票
2 回答
6242 浏览

python - 从 Python Social Auth 获取访问令牌

我在我的网站上实现了 Python Social Auth,我正在尝试(在登录过程之后)访问用户获得的访问令牌。我可以在 Django 管理员上看到一个名为 extra_data 的字段,其中包含访问令牌,但我不知道如何从我的代码中访问它。

任何想法?

我想做一些类似的事情,因为它可以在 Django Social Auth 中完成:http: //django-social-auth.readthedocs.org/en/latest/tokens.html

0 投票
1 回答
1534 浏览

python-social-auth - python social auth 加载策略并使用 0.1.26 版手动验证用户

在过去的 2 个月中,我使用 python social auth 进行社交身份验证,这很棒。我需要 QQ 支持,因此安装了最新的 git commit(23e4e289ec426732324af106c7c2e24efea34aeb - 不是发布的一部分)。到目前为止,我曾经使用以下代码对用户进行身份验证:

效果很好。

在最新版本中,此行为已更改,并且由于“load_strategy”方法已更改而引发异常。

我似乎找不到任何关于如何使用新版本的文档。

任何帮助,将不胜感激!

暗里。

0 投票
1 回答
333 浏览

python-social-auth - Facebook 和linkedin 未正确填写电子邮件字段

Google 和 github 登录工作正常,但由于某种原因,我无法让 facebook 和linkedin 帐户正确填写电子邮件字段。

这是涉及的文件


Settings.py 配置,密钥已从帖子中删除

这是模型本身,非常接近 omab 提供的示例

模型.py

0 投票
1 回答
1046 浏览

django-rest-framework - 当身份验证令牌不在标头中时,无法使用 python-social-auth 和 django-rest-framework 创建社交帐户

我正在使用 python-social-auth 和 django-rest-framework 来允许用户在我的应用程序中使用他们的社交帐户进行注册。

我的情况类似于这篇文章 用户不是在使用 facebook 登录后创建的(可能是同名案例)

我使用 django-rest-framework 的 TokenAuthentication 对用户进行身份验证

使用我的自定义用户模型时,当标头中有可用的 authtoken(用户已登录)时,创建的社交用户帐户将链接到其令牌按预期附加到请求的用户,但是当没有可用的令牌时,它无法创建新帐户。

但是当使用默认的 django 用户模型时,一切都按预期工作。我怀疑我没有正确配置我的自定义用户模型。

下面是我的设置文件,你可以看看,看看你能不能找出我做错了什么。

提前致谢。

我的设置文件

定制经理

自定义用户模型

风景

0 投票
1 回答
2646 浏览

python - python-social-auth + 移动应用

我有一个 django 应用程序,并为移动应用程序创建 API。当涉及到用户身份验证时,我简单地获取登录 + 通过并执行标准的 django 登录内容。当用户登录时,我生成一个令牌,将其保存并提供给移动应用程序。

现在谈到 Facebook,我想实现 python-social-auth 库。我确实知道如何为标准网络实现它,这真的很简单。但我不知道如何将它实现到我的移动 API 以及如何将我的令牌内容合并到那里。

只是在想......是否有可能进行编程身份验证,以便我能够创建 API 方法并从那里调用社交身份验证的东西?但是,Facebook 端的“允许访问 XY 应用程序以访问您的个人资料”页面怎么样?

任何建议都有帮助。先感谢您。

0 投票
0 回答
583 浏览

python - python social auth / django app:注销后,浏览器保持登录到facebook

我正在我的 django 应用程序中实现 Facebook 登录。
创建新用户并让这些用户通过 facebook 登录的部分工作正常,没有任何问题。

我的问题是当用户使用 facebook 帐户登录并想从我的应用程序中注销时。
要从我的应用程序中注销用户,我正在使用链接:

此链接将用户从应用程序中注销,但保持浏览器登录到 facebook
当用户将尝试再次登录时,没有 facebook 弹出窗口让他可以选择以另一个用户身份登录。

如果 2 个用户在同一台​​计算机上工作,这可能会成为一个真正的问题。
假设用户在朋友家,她想对我的应用程序做一些工作。
她将使用她的 Facebook 帐户登录,完成工作并注销。
从她的角度来看,她退出了她所做的一切。
但这种情况并非如此。浏览器仍然使用她的用户登录 facebook!

如果朋友尝试登录我的应用程序,她将无需提供用户名/密码并与她朋友的用户一起登录。

此外,Facebook 使用条款说“提供一个功能正常且易于查找的“注销”选项”(在这里

有没有办法强制重新登录?还是强制注销 facebook 和 django 注销?

0 投票
1 回答
144 浏览

python - Python Social Auth 中的用户授权

我可以使用 Python Social Auth 构建 Facebook 登录。但为了访问网站的全部内容,我希望用户首先获得授权。是否有可能获得如何构建此类解决方案的指南?

0 投票
1 回答
161 浏览

python - 无法从archlinux服务器联系google api

我在 Arch 虚拟服务器上运行 python-social-auth,以在我的应用程序中获取 oauth2 功能。

当我尝试使用谷歌登录时,我被重定向(在我填写表格后):

然后连接超时。

我试图查看服务器是否可以连接到谷歌的 api。我认为它不能:

我不确定这到底是什么意思。但我猜我的网络不允许我调用那个 url。

我的服务器上的时间首先是默认值,然后我将它切换到你在那里看到的那个,也就是我家的那个。

我只想说,从我家做同样的 wget 会产生 405 错误,但不会产生超时错误。所以我认为网络有问题。

如果有人可以提供帮助,那就太好了。

提前致谢。