问题标签 [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.
python - 如何在 python-social-auth 中获取已配置后端的登录词干列表?
我有一个 Django 项目正在运行django-rest-framework
,为 BackboneJS 应用程序提供后端。我正在尝试python-social-auth
通过 AJAX 对应用程序进行身份验证。
我需要通过 AJAX 发送可能的登录 url 列表以在 BackboneJS 视图中呈现,例如
但要做到这一点,我需要在 Django 的后端访问这些数据。我可以访问该AUTHENTICATION_BACKENDS
设置,但这仅提供包含对模块的引用的字符串列表 - 我如何将这些转换为 url?
django - python-social-auth 和模拟 django 用户
我想避免将个人信息存储在数据库中(没有姓氏,没有电子邮件)。这是我实现它的方法:
- 将身份验证委托给社交网络身份验证服务(感谢python-social-auth)
- 更改 python-social-auth 管道以匿名化个人信息。
然后我用social_details
这个替换了管道上的步骤:
设置.py
问题:
这是实现我的目的的正确方法吗?
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(...)
python - 仅关联身份验证与 Python 社交身份验证和 Django
对于一个简单的概念证明,我正在配置一个 Django 应用程序以通过python-social-auth
. 注意:我是 Django 的新手,所以仍在尝试解决问题...
auth 方案依赖于带外帐户同步——即只允许现有用户,并且不自动创建新用户。但是,记录在案的“仅关联”的管道配置似乎并没有像我想象的那样工作(在与get_username
and进行各种组合之后social_uid
);我只能在创建自己的管道方法以返回带有“用户”键的字典后才能使其工作。
我从 http://psa.matiasaguirre.net/docs/pipeline.html#authentication-pipeline开始使用这个配置:
但是如果没有“用户”键,前两个 -social_user
和associate_user
- 似乎不起作用。在没有关于如何填充“用户”键的任何其他指导的情况下,我想出了:
哪里load_user
知道根据 JSON 中返回的自定义键来查找当前用户。虽然它有效,但我不确定这是否在框架的“精神”中,或者我只是错过了一些东西。
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 的配置中遗漏了一些东西,或者我做错了一切。因此,如果有人有一些想法并想提供帮助,我会很高兴:)
python - python-social-auth AuthCanceled 异常
我在我的 Django 应用程序中使用 python-social-auth 通过 Facebook 进行身份验证。但是当用户尝试登录时,他们已经被重定向到 Facebook 应用页面,当他们点击“取消”按钮时,会出现以下异常:
有什么方法可以抓住它 Django 吗?
python-social-auth - 确定 request.user 是否使用社交进行身份验证的最简单和最便宜的方法是什么?
我是否需要添加自己的管道函数来向请求对象添加一些东西,或者请求对象上是否已经有一些标志或指示符?我找不到一个。谢谢。
python - 在 Python Social Auth 中获取 Facebook 用户点赞
我正在使用 Django 开始一个项目,并试图让用户使用 Facebook 登录。出于站点目的,我想将用户喜欢的内容存储在我的数据库中。
我以 Python Social Auth(我在项目中使用的库)上的示例应用程序为例,并编写了一个用于在 DB 中存储数据的管道。
当我尝试访问喜欢时,问题就来了,因为我得到的响应数据只是给了我基本数据,所以下面的代码不起作用。
我在 Facebook 中的应用程序要求点赞权限,我的 settings.py 中有以下内容(包含秘密和所有这些内容):
有什么办法可以使这项工作?
django - python-social-auth 部分管道无法恢复
我正在尝试使用 python-social-auth 的部分管道收集新用户的密码。由于某种未知原因,我无法恢复管道,提交表单后页面呈现回密码收集页面。
连线的是,即使我输入了 http.../complete/backend-name,页面也会重定向回密码收集页面。看起来渲染进入了一个死循环,密码收集页面首先指向完整页面,完整页面直接返回密码收集页面。我检查了 REDIRECT_FIELD_NAME 的值,它是“下一个”。
我不确定我的代码有什么问题,非常感谢任何提示/建议。
设置.py
管道.py
视图.py
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-tk
for Tkinter
,但据我了解,python-tk 是一个 GUI 库。它是如何到达这里的,我怎样才能摆脱任何需要它的代码?
作为参考,这是我在urls.py
访问正在运行的服务器时尝试的域调用的函数(并出现这些错误):
任何帮助将不胜感激——我对 Django 和 Python 还是很陌生,我很想从这个开始:D