2

我正在尝试使用 Facebook Javascript SDK 设置 PSA。

我想使用部分管道,以便将用户重定向到收集其他数据的表单。

文档中的示例面向 ajax 身份验证,这不是我想要的。这是我到目前为止的代码,适用于不需要重定向的用户。

# could not get decorator to work with cbv :(
@psa('social:complete')
def register_by_access_token(request, backend):
    token = request.GET.get('access_token')
    backend = request.backend
    user = backend.do_auth(token)
    return user


class RegisterByTokenView(View):

    def get(self, request, backend):
        user = register_by_access_token(request, backend)
        if user:
            login(request, user)

        return HttpResponseRedirect(reverse('home'))

有几件事对我不起作用。

  1. 如果用户需要通过部分管道重定向,register_by_access_token将返回 HTTPResponseRedirect ,这将导致login(request, user)失败。
  2. 即使管道跳过部分管道并且我的用户已正确验证,我也不确定如何让用户以SOCIAL_AUTH_NEW_USER_REDIRECT_URL.
4

0 回答 0