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)
由於代碼。