如何从python-social-auth获取后端实例

时间:2013-11-28 02:49:10

标签: python django python-social-auth

我目前正在使用python-social-auth并在MyOAuth类中添加BaseOAuth1后端BaseOAuth1,有一个方便的oauth_request实例方法,我会喜欢在课堂之外使用。

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

我尝试直接实例化该类,但看起来我错过了一些上下文。

是否有方法引用MyOAuth后端实例?我期待像

这样的东西

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

1 个答案:

答案 0 :(得分:4)

Sweet,发布在github项目上并得到答案。

https://github.com/omab/python-social-auth/issues/114

目前:

from social.apps.django_app.utils import load_strategy

strategy = load_strategy(backend='MyOAuth')
social = request.user.social_auth.get(provider='MyOAuth')
backend = backend(strategy=strategy)
backend = social.get_backend(strategy)
backend.oauth_request(...)

作者将发布一个帮手,以便轻松完成此任务。

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