我一直在尝试在我的fb canvas应用程序上连接用户。
我在我的网站上实现了django-allauth fb登录。在fb canvas app中,我试图让用户已经登录,因为用户已经在fb上连接了。
有没有办法让它使用django-allauth?
答案 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)
你终于找到了解决这个问题的方法吗?如果您找到的解决方案不是我提出的解决方案,那么如果您可以在此处分享它将会很棒。