Sau khi tôi tạo một người dùng sử dụng Facebook nói (giả sử fbuser) hoặc Google (googleuser). Nếu tôi tạo một người dùng khác thông qua quản trị django bình thường (normaluser), và thử đăng nhập lại bằng cách sử dụng Facebook hoặc Google trong khi người dùng thứ ba (normaluser) được đăng nhập, nó ném một ngoại lệ lỗi AuthAlreadyAssociated.AuthAlreadyAssociated Exception trong Django Social Auth
Lý tưởng nhất nên gửi một lỗi gọi là bạn đã đăng nhập là người dùng bình thường.
Hoặc nó nên đăng xuất người dùng bình thường và thử liên kết với tài khoản đã được liên kết với FB hoặc Google, như trường hợp có thể.
Làm cách nào để triển khai một trong hai tính năng trên? Mọi lời khuyên đều được chào đón.
Ngoài ra khi tôi cố gắng tùy biến SOCIAL_AUTH_PIPELINE, nó không phải là có thể đăng nhập bằng FB hoặc Google, và nó buộc URL đăng nhập/tài khoản/đăng nhập/
Tôi đã thử thực hiện tùy chọn # 2 nhưng không thành công. Nó thành công đăng nhập người dùng, nhưng không trở lại như là social.user mới. thay thế:. msg = 'Đây {0} tài khoản đã được sử dụng' định dạng (nhà cung cấp) nâng AuthAlreadyAssociated (strategy.backend, msg) với: logout (kwargs.get ('yêu cầu')) user = social.user – nwilson5
@omab: Trên auth xã hội python sử dụng Django, làm thế nào tôi sẽ liền mạch trong cùng một yêu cầu đăng xuất người dùng hiện tại và thiết lập phiên cho người dùng thứ hai bằng cách sử dụng thay thế đường dẫn social_user? – jacob
@omab: Trong social.actions.do_complete, is_authenticated được đặt ở đầu dựa trên người dùng hiện tại ("người dùng A"). Nhưng nếu tôi đăng xuất "người dùng A" trong đường dẫn và trả về "người dùng B", do_complete sẽ không đăng nhập "người dùng B" vì nó được xác thực đã được đặt Đúng. Nên do_complete đánh giá lại người dùng phiên một lần nữa sau khi hoàn thành đường ống để xác định có đăng nhập "người dùng B" không? – jacob