2017-11-05 3 views
0

Durch die SocialAccountManager zwingendenWie Kennwort in Benutzertabelle setzen, wenn Benutzer mit Google anmeldet oder facebook django allauth

def save_user(self, request, sociallogin, form=None): 
    """ 
    Saves a newly signed up social login. In case of auto-signup, 
    the signup form is not available. 
    """ 
    u = sociallogin.user 
    u.set_unusable_password() 
    if form: 
     get_account_adapter().save_user(request, u, form) 
    else: 
     get_account_adapter().populate_username(request, u) 
    sociallogin.save(request) 
    return u 

wie das Passwort von sozialem Konto Anmeldungen

Antwort

0

Eigentlich kann man nicht, erhalten .

Django Allauth hasht keine Passwörter für soziale Login-Benutzer. Es behandelt nicht die Authentifizierung am Ende.

Angenommen, ein Benutzer versucht, eine Google-Anmeldung auf Ihrer Website zu tun, passiert die Authentifizierung auf Google-Servern nicht an Ihrem Ende. Wenn das Passwort des Benutzers korrekt ist, leitet LOGIN_REDIRECT_URL = "URL-Name /", das in Ihrem Django-Projekt definiert wurde, diesen Benutzer zur URL um.

0

Sie können das Passwort nicht erhalten. Wenn Sie können oder diese sozialen Apps das Passwort ihrer Nutzer teilen, verstoßen sowohl Sie als auch die entsprechenden sozialen Apps gegen die Datenschutzbestimmungen des Nutzers. Meiner Meinung nach ist es ein Verbrechen.

Sie können Ihren Benutzer nur bitten, ein neues Passwort für Ihre Site festzulegen. Schicke ihnen eine E-Mail, um die Änderung zu bestätigen. Aber das bedeutet, dass Sie eine zusätzliche Route für Ihre App erstellen müssen, die keinen Sinn hat.

Verwandte Themen