Python Django allauth在fb画布上登录
我一直在尝试连接我的fb canvas应用程序上的用户 我已经在我的网站上实现了django allauth fb登录。在fb canvas应用程序中,我试图让用户作为已经登录的用户,因为用户已经连接到fb上 有没有办法用django allauth制作它?答案是肯定的 只需将您的fb canvas url设置为: https://yourdomain.com/your-allauth-url/facebook/login/?process=loginPython Django allauth在fb画布上登录,python,django,angularjs,facebook,Python,Django,Angularjs,Facebook,我一直在尝试连接我的fb canvas应用程序上的用户 我已经在我的网站上实现了django allauth fb登录。在fb canvas应用程序中,我试图让用户作为已经登录的用户,因为用户已经连接到fb上 有没有办法用django allauth制作它?答案是肯定的 只需将您的fb canvas url设置为: https://yourdomain.com/your-allauth-url/facebook/login/?process=login 这样,您的canvas应用程序访问者将通过
这样,您的canvas应用程序访问者将通过allauth facebook登录过程。如果用户已连接到你的应用程序,它会将他/她重定向到你在设置中指定的登录重定向url。否则它只会要求他允许facebook连接。一种可能的方法是:
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)
你最终找到解决这个问题的办法了吗?如果您找到了我提出的解决方案以外的其他解决方案,如果您可以在此处共享,那将非常棒。我认为它应该能够自动识别用户。您的请求中有什么。用户?是的,但我需要发出请求才能让用户加入请求。不能仅根据第一次访问将其嵌入。我必须调用/accounts/facebook/login/endpoint.yap,但这是GET方法,从canvas url访问的第一个方法是POST方法。所以,我不能只传递这个URL。那么,如果用户没有经过身份验证,为什么不重定向到这个URL呢?它不工作,它调用端点,但没有得到任何回调响应。我想我无法破解它,我需要一个逻辑来根据我通过fb canvas获得的签名请求创建任何用户。你能获得用户的访问令牌吗?我正在尝试实现它。通过signed_请求,我应该能够得到它,但我只是得到基本的signed_请求数据,没有用户id和oauth_令牌。