0
Django 애플리케이션에서 Facebook 로그인을 사용하려고했습니다. 페이스 북 인증시 페이 스북은 사용자 이름을 다시 전달하는 반면, 사용자 이름, 전자 메일, first_name, last_name 및 프로필 사진을 사용하는 것 외에는 사용자 지정 사용자가 있습니다. 내가 가지고있는 또 다른 문제는 인증 성공시 앱이 원래 URL '#_=_'
으로 되돌아갑니다.Django Social Auth access first_name and last_name
가장 큰 문제는 내가 페이스 북 인증에서 필요한 적절한 결과를받는 방법을 모르며 문서가 그것을 커버하지 않는 것입니다.
이 설정 정의
<div id = 'wrapper'><div id = 'shiftlog'>
<h1>Log In</h1>
<br>
<form action="/log_in/" method="post">
{% csrf_token %}
{{ form.as_p}}
<input type="submit" value="Log In" />
</form><br><br>
<a href='/sign_up/' id = 'signup'>Need an Account?</a>
<a href="{%url 'socialauth_begin' 'facebook' %}">Login with Facebook</a>
</div></div>
models.py
from django.db import models
from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
# Create your models here.
class ActUserManager(BaseUserManager):
use_in_migrations = True
def create_user(self, email, **extra_fields):
"""
Creates and saves a User with the given username, email and password.
"""
print email
email = self.normalize_email(email)
user = self.model(username=email, **extra_fields)
user.save(using=self._db)
return user
class ActiviistUser (AbstractBaseUser):
firstname = models.CharField(verbose_name="First Name", max_length=30, default="")
lastname = models.CharField(verbose_name="Last Name", max_length=30, default="")
username = models.CharField(verbose_name="User Name", max_length=30, default="")
is_active = models.BooleanField(default=False)
email = models.EmailField(
verbose_name='Email Address',
max_length=255,
unique=True,
default=''
)
USERNAME_FIELD = 'email'
objects = ActUserManager()