【问题标题】:Python Social Auth: global name 'strategy' is not defined"Python Social Auth:未定义全局名称“策略””
【发布时间】:2015-07-20 10:46:39
【问题描述】:

我正在尝试使用 Python Social Auth 和 Tastypie 向我的应用程序验证 Facebook 用户。我在请求的发布数据中传递了访问令牌。

from social.apps.django_app import load_strategy

class SocialSignUpResource(ModelResource):

class Meta:
    queryset = User.objects.all()
    allowed_methods = ['post']
    resource_name = "social_sign_up"
    include_resource_uri = False

def prepend_urls(self):
    return [            
        url(r'^(?P<resource_name>%s)/auth%s$' %
            (self._meta.resource_name, trailing_slash()),
            self.wrap_view('auth_user'), name='api_auth_user'),  
    ]

def auth_user(self, request, **kwargs):
    data = json.loads(request.body)
    provider = data.get('provider', '')
    access_token = data.get('access_token', '')
    print "provider "+provider +" access_token " +access_token
    strategy = load_strategy(backend=provider)
    user = strategy.backend.do_auth(access_token)

我得到全局名称'strategy' is not defined",任何帮助将不胜感激。

【问题讨论】:

    标签: django tastypie python-social-auth


    【解决方案1】:

    尝试在 auth_user 方法中添加这行代码,

    strategy = load_strategy(request)
    

    【讨论】:

    猜你喜欢
    • 2017-02-03
    • 2013-08-23
    • 2013-11-12
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    • 2013-07-28
    相关资源
    最近更新 更多