问题标签 [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 投票
2 回答
183 浏览

python - 如何在 python-social-auth 中获取已配置后端的登录词干列表?

我有一个 Django 项目正在运行django-rest-framework,为 BackboneJS 应用程序提供后端。我正在尝试python-social-auth通过 AJAX 对应用程序进行身份验证。

我需要通过 AJAX 发送可能的登录 url 列表以在 BackboneJS 视图中呈现,例如

但要做到这一点,我需要在 Django 的后端访问这些数据。我可以访问该AUTHENTICATION_BACKENDS设置,但这仅提供包含对模块的引用的字符串列表 - 我如何将这些转换为 url?

0 投票
1 回答
350 浏览

django - python-social-auth 和模拟 django 用户

我想避免将个人信息存储在数据库中(没有姓氏,没有电子邮件)。这是我实现它的方法:

  1. 将身份验证委托给社交网络身份验证服务(感谢python-social-auth
  2. 更改 python-social-auth 管道以匿名化个人信息。

然后我用social_details这个替换了管道上的步骤:

设置.py

问题:

这是实现我的目的的正确方法吗?

0 投票
1 回答
2077 浏览

python - How to get backend instance from python-social-auth

I am currently using python-social-auth and added a backend MyOAuth which BaseOAuth1, inside the BaseOAuth1 class there is a handy oauth_request instance method which I would like to make use of outside of the class.

https://github.com/omab/python-social-auth/blob/master/social/backends/oauth.py

I tried instantiate the class directly but looks like I am missing some context.

Is there a way reference that MyOAuth backend instance? I am expecting something like

request.user.social_auth.get(provider='MyOAuth').backend.oauth_request(...)

0 投票
1 回答
957 浏览

python - 仅关联身份验证与 Python 社交身份验证和 Django

对于一个简单的概念证明,我正在配置一个 Django 应用程序以通过python-social-auth. 注意:我是 Django 的新手,所以仍在尝试解决问题...

auth 方案依赖于带外帐户同步——即只允许现有用户,并且不自动创建新用户。但是,记录在案的“仅关联”的管道配置似乎并没有像我想象的那样工作(在与get_usernameand进行各种组合之后social_uid);我只能在创建自己的管道方法以返回带有“用户”键的字典后才能使其工作。

我从 http://psa.matiasaguirre.net/docs/pipeline.html#authentication-pipeline开始使用这个配置:

但是如果没有“用户”键,前两个 -social_userassociate_user- 似乎不起作用。在没有关于如何填充“用户”键的任何其他指导的情况下,我想出了:

哪里load_user知道根据 JSON 中返回的自定义键来查找当前用户。虽然它有效,但我不确定这是否在框架的“精神”中,或者我只是错过了一些东西。

0 投票
3 回答
8185 浏览

facebook - Facebook Auth 与 AngularJS 和 Django REST 框架

我正在使用AngularJS开发一个 SPA 应用程序,它使用Django后端作为服务器。我从 SPA 与服务器通信的方式是使用django-rest-framework。所以现在我想用 facebook(谷歌和推特)进行身份验证,我阅读了很多关于这个主题的内容,发现OAuth.io正在客户端 SPA 端进行身份验证,而python-social-auth正在做同样的事情但在服务器端。

所以目前我只有客户端身份验证,我的应用程序正在连接到 facebook(使用 OAuth.io)并成功登录。此过程正在返回 access_token,然后我向我的 API 发出请求,该 API 必须登录该用户或通过给定令牌为该用户创建帐户,这部分不起作用。所以我不确定我错在哪里,也许是因为没有关于使用 python-social-auth 的完整教程所以也许我遗漏了一些东西或者..我不知道..

所以我有一些代码:

在 SPA 方面:这是与 OAuth.io 的连接,并且正在工作,因为我正在获取访问令牌。然后我必须向我的其余 API 发出请求。后端是 'facebook'、'google' 或 'twitter'

在我的 settings.py 的服务器上,我已将社交插件添加到已安装的应用程序、模板上下文预处理器、一些身份验证后端,这就是我的文件:

在我的 API 的 views.py 中,我有以下内容(我在这里找到了):

最后我在 urls.py 中有这些路由:

每次我尝试进行身份验证时,OAuth.io 都在工作并且 rqest 到 api 返回

详细信息:“无效令牌”

我认为我在 python-social-auth 的配置中遗漏了一些东西,或者我做错了一切。因此,如果有人有一些想法并想提供帮助,我会很高兴:)

0 投票
7 回答
10392 浏览

python - python-social-auth AuthCanceled 异常

我在我的 Django 应用程序中使用 python-social-auth 通过 Facebook 进行身份验证。但是当用户尝试登录时,他们已经被重定向到 Facebook 应用页面,当他们点击“取消”按钮时,会出现以下异常:

有什么方法可以抓住它 Django 吗?

0 投票
0 回答
54 浏览

python-social-auth - 确定 request.user 是否使用社交进行身份验证的最简单和最便宜的方法是什么?

我是否需要添加自己的管道函数来向请求对象添加一些东西,或者请求对象上是否已经有一些标志或指示符?我找不到一个。谢谢。

0 投票
1 回答
1711 浏览

python - 在 Python Social Auth 中获取 Facebook 用户点赞

我正在使用 Django 开始一个项目,并试图让用户使用 Facebook 登录。出于站点目的,我想将用户喜欢的内容存储在我的数据库中。

我以 Python Social Auth(我在项目中使用的库)上的示例应用程序为例,并编写了一个用于在 DB 中存储数据的管道。

当我尝试访问喜欢时,问题就来了,因为我得到的响应数据只是给了我基本数据,所以下面的代码不起作用。

我在 Facebook 中的应用程序要求点赞权限,我的 settings.py 中有以下内容(包含秘密和所有这些内容):

有什么办法可以使这项工作?

0 投票
1 回答
2411 浏览

django - python-social-auth 部分管道无法恢复

我正在尝试使用 python-social-auth 的部分管道收集新用户的密码。由于某种未知原因,我无法恢复管道,提交表单后页面呈现回密码收集页面。

连线的是,即使我输入了 http.../complete/backend-name,页面也会重定向回密码收集页面。看起来渲染进入了一个死循环,密码收集页面首先指向完整页面,完整页面直接返回密码收集页面。我检查了 REDIRECT_FIELD_NAME 的值,它是“下一个”。

我不确定我的代码有什么问题,非常感谢任何提示/建议。

设置.py

管道.py

视图.py

0 投票
1 回答
182 浏览

python - Python-social、Django-nonrel 和 GAE 争夺文件、python-tk

我正在尝试在 Google App Engine 上托管 Django 应用程序,因此我正在使用Django nonrel并按照这些说明进行操作。现在,试图让Python 社交身份验证工作,我遇到了两个问题。

首先,当使用与 Python social 中的示例 Django 配置非常相似的代码时,尝试从正在运行的服务器加载 url,我得到这个:

在某处,该应用程序正在尝试创建 App Engine 不允许的本地文件,但我很困惑,因为这是来自 App Engine 的代码。有谁知道这可能来自哪里?

其次,当我尝试在服务器上访问 root 时,我收到以下错误:

在某个地方,Django 正在尝试使用python-tkfor Tkinter,但据我了解,python-tk 是一个 GUI 库。它是如何到达这里的,我怎样才能摆脱任何需要它的代码?

作为参考,这是我在urls.py访问正在运行的服务器时尝试的域调用的函数(并出现这些错误):

任何帮助将不胜感激——我对 Django 和 Python 还是很陌生,我很想从这个开始:D