title: Django Social Auth
body: <p>i want to make login social auth and i use userprofile to login, but i getting error. This is error:</p>
  
  <pre><code>Exception Type: TypeError at /complete/facebook/
  Exception Value: create_user() takes at least 3 arguments (2 given)
  </code></pre>
  
  <p>this is my admin.py code</p>
  
  <pre><code>class CustomUserCreationForm(UserCreationForm):
  password1 = forms.CharField(label='Password', widget=forms.PasswordInput)
  password2 = forms.CharField(label='Password Confirmation', widget=forms.PasswordInput)
  
  class Meta(UserCreationForm.Meta):
      model = UserProfile
      fields = ('username', 'email','password')
  
  def clean_username(self):
      username = self.cleaned_data["username"]
  
      try:
          UserProfile._default_manager.get(username=username)
      except UserProfile.DoesNotExist:
          return username
      raise forms.ValidationError(self.error_messages['duplicate_username'])
  
  def clean_password2(self):
      password1 = self.cleaned_data.get("password1")
      password2 = self.cleaned_data.get("password2")
  
      if password1 and password2 and password1 != password2:
          raise forms.ValidationError("Passwords do not match.")
      return password2
  
  def save(self, commit=True):
      user = super(UserCreationForm, self).save(commit=False)
      user.set_password(self.cleaned_data["password1"])
      if commit:
          user.save()
      return user
  </code></pre>
  
  <p>this is model.py</p>
  
  <pre><code>class MyUserManager(BaseUserManager):
  def create_user(self, username, email, password=None):
      if not email:
          raise ValueError('Users must have an email address')
      if not username:
          raise ValueError('Users must have a username')
  
      user = self.model(
          username = username,
          email    = self.normalize_email(email),
      )
      user.is_active  = True
      user.set_password(password)
      user.save(using=self._db)
      return user
  
  # def create_user(self, username, email):
  #   return self.model._default_manager._create_user(username=username)
  
  def create_superuser(self, username, email, password):
      user = self.create_user(username=username, email=email, password=password)
      user.is_staff = True
      user.is_superuser = True
      user.save(using=self._db)
      return user 
  </code></pre>
  
  <p>i already put password in fields class Meta(UserCreationForm.Meta) but its still same error.</p>
  
  <p>can you help me solve this problem? </p>