How to manage password when entegrating sign with google/facebook?

Viewed 39

I'm working on register with social media. When I get data from auth token, google or facebook doesn't sent anything about password. How should I manage that? Or should I use same password for every user as above?

def register_social_user(provider,email,name):
    filtered_user_by_email = User.objects.filter(email=email)
    
    if filtered_user_by_email.exists():
        if provider == filtered_user_by_email[0].auth_provider:
            registered_user = authenticate(email = email,password="test")

            return{
                'email': registered_user.email,
            }
        else:
            raise AuthenticationFailed(
                detail='Please continue your login using '+ filtered_user_by_email[0].auth_provider
            )
    else:
        user = {
            'email':email,
            'password': "test"
        }
        user = User.objects.create_user(**user)
        user.is_active = True
        user.auth_provider = provider
        user.save()

        new_user = authenticate(email=email,password = "test")
        print("new_user : ",new_user)
        return {
            'email':new_user.email
        }
0 Answers
Related