2012-12-20 31 views
0

我正在將django-social-auth集成到我現有的應用程序中。到目前爲止,我做了所有事情,唯一缺少的是將我的用戶模型(實習生)不使用auth.User模型集成到DSA。 當我嘗試登錄我得到以下信息:django-social-auth「UserSocialAuth.user」必須是「實習生」實例

"UserSocialAuth.user" must be a "Trainee" instance. 

這是我的設置:

LINKEDIN_API_KEY = 'my_key' 
LINKEDIN_SECRET_KEY = 'my_key' 
LINKEDIN_CONSUMER_KEY = LINKEDIN_API_KEY 
LINKEDIN_CONSUMER_SECRET = LINKEDIN_SECRET_KEY 
LINKEDIN_SCOPE = ['r_basicprofile', 'r_emailaddress', 'r_fullprofile'] 
LINKEDIN_EXTRA_FIELD_SELECTORS = ['public-profile-url', 'picture-url', 'date-of-birth'] 


FACEBOOK_APP_ID = os.environ.get('FACEBOOK_APP_ID') 
FACEBOOK_API_SECRET = os.environ.get('FACEBOOK_API_SECRET') 
FACEBOOK_EXTENDED_PERMISSIONS = ['email'] 
# FACEBOOK_PROFILE_EXTRA_PARAMS = {'locale': 'en_US'} 

AUTHENTICATION_BACKENDS = (
    # 'social_auth.backends.twitter.TwitterBackend', 
    'social_auth.backends.facebook.FacebookBackend', 
    # 'social_auth.backends.google.GoogleOAuthBackend', 
    # 'social_auth.backends.google.GoogleOAuth2Backend', 
    # 'social_auth.backends.google.GoogleBackend', 
    # 'social_auth.backends.yahoo.YahooBackend', 
    # 'social_auth.backends.browserid.BrowserIDBackend', 
    'social_auth.backends.contrib.linkedin.LinkedinBackend', 
    # 'social_auth.backends.contrib.disqus.DisqusBackend', 
    # 'social_auth.backends.contrib.livejournal.LiveJournalBackend', 
    # 'social_auth.backends.contrib.orkut.OrkutBackend', 
    # 'social_auth.backends.contrib.foursquare.FoursquareBackend', 
    # 'social_auth.backends.contrib.github.GithubBackend', 
    # 'social_auth.backends.contrib.vkontakte.VKontakteBackend', 
    # 'social_auth.backends.contrib.live.LiveBackend', 
    # 'social_auth.backends.contrib.skyrock.SkyrockBackend', 
    # 'social_auth.backends.contrib.yahoo.YahooOAuthBackend', 
    # 'social_auth.backends.OpenIDBackend', 
    'django.contrib.auth.backends.ModelBackend', 
) 

SOCIAL_AUTH_CREATE_USERS = False 
SOCIAL_AUTH_LOGIN_REDIRECT_URL = '/' 
SOCIAL_AUTH_USER_MODEL = 'trainee.Trainee' 
SOCIAL_AUTH_PROTECTED_USER_FIELDS = ['email', 'username', 'name'] 

LOGIN_URL = '/home/' 
LOGIN_REDIRECT_URL = '/' 
LOGIN_ERROR_URL = '/' 

SOCIAL_AUTH_PIPELINE = (
    'social_auth.backends.pipeline.social.social_auth_user', 
    'social_auth.backends.pipeline.user.get_username', 
    'social_auth.backends.pipeline.user.create_user', 
    'social_auth.backends.pipeline.social.associate_user', 
    'social_account.backends.login.extra_data', 
    'social_auth.backends.pipeline.social.load_extra_data', 
    'social_auth.backends.pipeline.user.update_user_details', 
    # 'social_auth.backends.pipeline.associate.associate_by_email', 
    'social_account.backends.login.process', 
) 
+1

你可以請發佈完整的追溯?謝謝! –

回答

0

我刪除現有的Django的社會身份驗證表,再跑去執行syncdb。

相關問題