Django-allauth登录fb canvas

时间:2014-12-11 17:20:02

标签: python django angularjs facebook

我一直在尝试在我的fb canvas应用程序上连接用户。

我在我的网站上实现了django-allauth fb登录。在fb canvas app中,我试图让用户已经登录,因为用户已经在fb上连接了。

有没有办法让它使用django-allauth?

2 个答案:

答案 0 :(得分:0)

答案是肯定的。

只需将fb canvas url设置为:

https://yourdomain.com/your-allauth-url/facebook/login/?process=login

有了这个,您的画布应用程序访问者将通过allauth facebook登录过程。如果用户已连接到您的应用,则会将他/她重定向到您在设置中指定的登录重定向网址。否则它只会让他允许facebook连接。

答案 1 :(得分:0)

一种可能的方法是:

class FacebookCanvasLoginView(View):
    def post(self, request, *args, **kwargs):
        social_app = SocialApp.objects.filter(provider='facebook').first()
        signed_request = parse_signed_request(request.POST.get('signed_request'), str(social_app.secret))
        token = SocialToken(app=social_app, token=signed_request['oauth_token'])

        login = fb_complete_login(request, social_app, token)
        login.token = token
        login.state = SocialLogin.state_from_request(request)

        return complete_social_login(request, login)

你终于找到了解决这个问题的方法吗?如果您找到的解决方案不是我提出的解决方案,那么如果您可以在此处分享它将会很棒。

相关问题