соц сетей в джанго? (django-allauth)
У меня несколько вопросов, я вот реализовал авторизацию через вк.
1) /accounts/vk/login/?method=oauth2 использую для авторизации, для регистрации тоже его использую?
Потому что когда делаю авторизацию у меня в базе в users_user создалась запись и туда записался еще пароль какой-то (будто заодно сделал регистрацию)
2) Что делать с шифрованием пароля? Я вот в базе смотрю все пользователей и этот юзер который пришел с соц сетей отличается шифрование password. Он берет пароль от той соц сети и сохраняет его в мой проект? Если это так, то как мне сохранить в моей расшифровке. Сейчас я пробую с нового аккаунта логин сделать пишу все пароли которые знаю и wrong password.
3) Я понял что для вк можно отправить redirect_url, чтобы после авторизации редиректил на главную страницу сайта, но если пользователь новый я хотел бы отправить его в страницу регистрации, чтобы он дополнил инфу о себе. Где можно такую логику прописать?
4) Я в конфигах прописал:
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = "mandatory"
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_AUTHENTICATION_METHOD = 'email'
И пробовал с аккаунта ВК где не привязана почта, и он у меня эту авторизацию обработал и вернул 200 статус, НО пользователь не создался потому что email is required. Как можно в таких случаях поступить?
Так мало инфы в документациях)
Нашел некоторые ответы на свои вопросы, если кому-то пригодится отвечу здесь: 1) В зависимости от провайдера 2) Пароль на самом деле во время входа через соц-сеть не используется и он практический не нужен, НО чтобы ваши аккаунты были привязаны к одному единому, нужно после аутентификации просить пользователя ввести почту(если ее нет с соц сети) и пароль придумать (чтобы мог заходить и без соц-сетей). Тут у меня все еще вопросы есть, нужно ли привязывать аккаунты разных соц сетей? Допусти я зарегался с vk и у меня там стоит определенная почта gmail, и вход через google тоже чтобы норм работал. 3) Тут видимо нужно написать метод который будет отлавливать такие моменты 4) В некоторых соц сетях например в Twitter/Apple можно скрывать имейл и она не всегда может поступать во время авторизации, так что если нету email нужно пользователя просить ввести и отправить запрос на подтверждение на почту и тд.
А зачем привязываться к почте вообще? Привязывай все входы к какому-нибудь uuid пользователя. Да и пароль не обязательно генерировать, если он не планирует под ним заходить. А то он может удивиться потом.
Просто в этом проекте вход через email делается. Я хотел бы если юзер регается через ВК записать его почту и когда он будет заходить с вк, у него был выбор зайти и обычным входом тоже
Обсуждают сегодня