Уведомления

Группа в Telegram: @pythonsu

#1 Март 17, 2021 18:03:42

Temp
Зарегистрирован: 2021-01-16
Сообщения: 75
Репутация: +  1  -
Профиль   Отправить e-mail  

Авторизация на сайте пользователем приложения

Доброго времени суток!

В интернете очень много примеров авторизации через модуль requests, но он возвращает только код данной страницы, написанной на php(кажется)
Меня же интересует непосредственно вывод маленького окошка браузера без строк вкладок и адреса, только указанный сайт авторизации. Закрывающийся при успешной авторизации и возвращающей hash или токен(ну или как он там называется…)
Даже в древности такая форма авторизации существовала, на тех же лаунчерах для ВК, поэтому я более чем уверен что в python это где-то есть

Офлайн

#2 Март 17, 2021 19:40:11

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Авторизация на сайте пользователем приложения

https://vk.com/dev/manuals



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#3 Март 22, 2021 18:21:21

Temp
Зарегистрирован: 2021-01-16
Сообщения: 75
Репутация: +  1  -
Профиль   Отправить e-mail  

Авторизация на сайте пользователем приложения

Добрый день!
Авторизация не связана с VK, его я упомянул так, для примера.
Вот сюда нужно: https://www.moysklad.ru/
По API есть данные способы авторизации:
MoySklad.get_instance(login,password) - в случае наличия логина и пароля в коде программы
MoySklad.find_instance_by_hash(hash_code) - это я так понял хэш логина-пароля

второй способ меня как раз таки и интересует

Офлайн

#4 Март 29, 2021 15:53:41

Temp
Зарегистрирован: 2021-01-16
Сообщения: 75
Репутация: +  1  -
Профиль   Отправить e-mail  

Авторизация на сайте пользователем приложения

Народ!

Есть идеи?

Офлайн

#5 Март 29, 2021 16:39:39

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Авторизация на сайте пользователем приложения

Temp
Вот сюда нужно:
Думаешь, там кто-то будет регаться? У меня и в VK аккаунта нет. Как-то он нафиг не упал.



Офлайн

#6 Март 30, 2021 08:13:51

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Авторизация на сайте пользователем приложения

https://webdevblog.ru/kak-zashhitit-svoj-sajt-s-pomoshhju-anti-csrf-tokenov/



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#7 Март 30, 2021 20:48:42

Temp
Зарегистрирован: 2021-01-16
Сообщения: 75
Репутация: +  1  -
Профиль   Отправить e-mail  

Авторизация на сайте пользователем приложения

py.user.next
Да не, Вы не правильно поняли. Забыли про ВК. Это был пример. Задам вопрос заново.

В данный момент пользуюсь модулем moysklad, для загрузки тех или иных данных и дальнейшей обработки.

Для получения этих самых данных пользователю нужно авторизоваться, то-есть, нужен его логин-пароль от сервиса МойСклад.
 MoySklad.get_instance(login,password)
Этот способ самый простой (в данный момент я пользуюсь им), но для этого пользователю необходимо вводить логин-пароль в созданные мною поля(в tkinter или PyQt5), чего не каждый пользователь захочет ввиду опасения кражи данных (логина и пароля) и передачи их третьему лицу.

Меня заинтересовала следующая функция авторизации из того же модуля:
 MoySklad.find_instance_by_hash(hash_code)
Я так понял эта функция, для авторизации использует уже захэшированные данные “логин:пароль”.

А теперь вопрос, реализуемо ли во время выполнения кода программы, открыть нужную (официальную) страницу через браузер (ну или в окне PyQt5), где пользователь введет свои данные или просто подтвердит вход в учетную запись, если его логин-пароль уже сохранены браузером, и в случае успешной авторизации, закрыть это окно браузера и вернуть мне этот хэш, который в свою очередь будет аргументом для функции что я указал выше.

Надеюсь, всё внятно расписал.

Офлайн

#8 Март 30, 2021 21:49:36

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Авторизация на сайте пользователем приложения

Temp
Я так понял эта функция, для авторизации использует уже захэшированные данные “логин:пароль”.
Это может быть что угодно, но да, думаю, это что-то вроде печенья, как в обмене по протоколу HTTP. wiki. печенье

Temp
А теперь вопрос, реализуемо ли во время выполнения кода программы, открыть нужную (официальную) страницу через браузер (ну или в окне PyQt5), где пользователь введет свои данные или просто подтвердит вход в учетную запись, если его логин-пароль уже сохранены браузером, и в случае успешной авторизации, закрыть это окно браузера и вернуть мне этот хэш, который в свою очередь будет аргументом для функции что я указал выше.

Надеюсь, всё внятно расписал.
Ну, написал так, что нужно украсть тайные данные из браузера пользователя.
Ты можешь сообщить пользователю, что он должен ввести свои логин и пароль для входа через твою программу. Причём пользователь должен быть уведомлён, что входит через твою программу и она может сохранять его пароль и передавать его кому-то - тебе, например. Дальше он соглашается на это всё и вводит свои логин и пароль. И дальше ты берёшь их и подключаешься к moysklad с их помощью через API этого сервиса. Лазить в браузер к пользователю не надо, так как браузеров много и хранят они свои данные по-разному. Утонешь просто в конвертерах, так как для каждого браузера придётся писать свой способ доступа к его внутренним данным, который ещё может меняться создателями браузера без уведомления об этом кого-то.



Офлайн

#9 Март 31, 2021 18:06:40

Temp
Зарегистрирован: 2021-01-16
Сообщения: 75
Репутация: +  1  -
Профиль   Отправить e-mail  

Авторизация на сайте пользователем приложения

Оукей, я понял, не зря значит клепел скам-окошко похожее на официальный сайт.

Спасибо.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version