Комментарии 6
Спасибо, как раз раздумывал, как сделать тоже самое.
диаграмма вроде понятна, но код я так и не понял. Особенно непонятно как реализуется «сервер авторизации перенаправляет пользователя на callback URL бота с указанием кода авторизации.». То есть страница с авторизацией открывается в самом клиенте телеграма, а потом после успешной авторизации бот получит какое то callback сообщение? Просто не увидел этого в коде. Руки если дойдут, то постараюсь попробовать. Еще раз спасибо
диаграмма вроде понятна, но код я так и не понял. Особенно непонятно как реализуется «сервер авторизации перенаправляет пользователя на callback URL бота с указанием кода авторизации.». То есть страница с авторизацией открывается в самом клиенте телеграма, а потом после успешной авторизации бот получит какое то callback сообщение? Просто не увидел этого в коде. Руки если дойдут, то постараюсь попробовать. Еще раз спасибо
0
Я так понимаю, бот должен быть ещё и веб-сервером. Сервер авторизации открывает страницу логина в броузере (встроенном в телеграм, наверное), оттуда перенаправляет на страницу веб-сервера бота, и из этого запроса бот получает необходимые данные.
0
Рад, что статья вам оказалась полезна! :)
То есть страница с авторизацией открывается в самом клиенте телеграма, а потом после успешной авторизации бот получит какое то callback сообщение?
Последовательность будет следующая:
- Пользователь жмет на ссылку в сообщении.
- Эта ссылка открывается в браузере и пользователь попадает на страницу логина сервера авторизации.
- Пользователь заполняет форму логина и нажимает submit, браузер шлет запрос серверу авторизации.
- Если пользователь ввел корректный логин-пароль, сервер авторизации отвечает браузеру статусом 302 с указанием адреса, куда нужно сделать редирект. Этот адрес — это как раз callback URL бота.
- Браузер идет на callback URL.
- В этот момент вызывается метод
AuthEndpoint.auth
бота, который, собственно, отвечает за обработку запросов, приходящих на на callback URL. В этом методе бот по коду, который есть в параметрах callback URL, запрашивает у сервера авторизации токены.
0
Только auth flow тут не поток, а процедура...
А так — годное начинание )
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как подружить Telegram-бот с OpenId Connect