Po utworzeniu użytkownika za pomocą powiedzmy Facebook (powiedzmy fbuser) lub Google (googleuser). Jeśli utworzę innego użytkownika za pośrednictwem normalnego administratora django (normaluser) i spróbuję zalogować się ponownie za pomocą Facebooka lub Google, gdy zalogowany jest trzeci użytkownik (normaluser), zostanie zgłoszony wyjątek błędu AuthAlreadyAssociated.AuthAlreadyAssocjowany wyjątek w Django Social Auth
Idealnie powinno rzucać się błąd o nazwie jesteś już zalogowany jako użytkownika normaluser.
Może też wylogować zwykłego użytkownika i spróbować powiązać go z kontem , które jest już powiązane z FB lub Google, ponieważ może to być przypadek .
Jak mogę wdrożyć jedną z tych dwóch funkcji? Wszystkie rady są mile widziane.
także przy próbie dostosowywania SOCIAL_AUTH_PIPELINE, to nie jest możliwe, aby zalogować się z FB i Google, a to wymusza logowanie URL/konta/login/
Próbowałem zrobić opcję nr 2, ale nie udało się. Pomyślnie loguje użytkownika, ale nie z powrotem jako nowy użytkownik social.user. wymianie. msg = 'Ten {0} konto jest już w użyciu' Format (dostawca) podnieść AuthAlreadyAssociated (strategy.backend, MSG) z: wylogowania (kwargs.get ('Wniosek')) użytkownik = social.user – nwilson5
@omab: Na pythonie, social auth za pomocą Django, w jaki sposób powinienem bezproblemowo w tym samym żądaniu wylogować bieżącego użytkownika i skonfigurować sesję dla drugiego użytkownika korzystającego z wymiany potoku social_user? – jacob
@omab: W social.actions.do_complete, is_authenticated ustawia się na początku na podstawie istniejącego użytkownika ("użytkownik A"). Ale jeśli wyloguję "użytkownika A" w potoku i zwrócę "użytkownika B", to do_complete nie zaloguje się "użytkownik B", ponieważ jest on_authenticated został już ustawiony True. Czy do_complete należy ponownie ocenić użytkownika sesji po zakończeniu potoku, aby określić, czy zalogować się "użytkownik B"? – jacob