0
我已经使用基于this question我想登录的用户我的代码,如果用户没有再注册,我想用默认帐户和社交帐户像默认链接注册以登录所有auth确实。这在用户已经注册时工作正常。Django的allauth着注册,如果新的同时记录用户
预先从view.py
class mobile_facebook_login_without_signup(APIView):
@csrf_exempt
def post(self, request, format='application/json'):
if request.method == "POST": # The method better be a POST
access_token = request.DATA.get('access_token') # Get token
email = request.DATA.get('email') # Get email
print "email = " +str(email) + " - access_token = " +str(access_token)
try:
app = SocialApp.objects.get(provider="facebook")
token = SocialToken(app=app, token=access_token)
# Check token against facebook
login = fb_complete_login(request, app, token)
login.token = token
login.state = SocialLogin.state_from_request(request)
print "login = " +str(login)
# Add or update the user into users table
ret = complete_social_login(request, login)
print "ret = " +str(ret)
data = {}
# Try to get username from email
try:
user = User.objects.get(email=email) # Get User
# Login the user from Django's perspective
#user.backend = 'django_tours.auth_backend.PasswordlessAuthBackend'
user.backend = 'allauth.account.auth_backends.AuthenticationBackend'
user = authenticate(email=user.email)
auth_login(request,user)
except User.DoesNotExist,e:
return Response('failure: %s'%(e), status=status.HTTP_401_UNAUTHORIZED)
return Response('sign-in successful ', status=status.HTTP_202_ACCEPTED)
except Exception,e:
return Response('Failure: %s'%(e), status=status.HTTP_401_UNAUTHORIZED)
else:
return Response('failure', status=status.HTTP_401_UNAUTHORIZED)
由于代码。