Search
Write a publication
Pull to refresh
6
0

Пользователь

Send message
Только auth flow тут не поток, а процедура...

Вы имеете в виду перевод? Я как раз на русском в основном встречал вариант "поток". А по смыслу да, "процедура" тоже вполне бы подошла.

Все верно. Бот имеет HTTP endpoint, который обрабатывает callback-запрос (AuthEndpoint в нашем случае).

Рад, что статья вам оказалась полезна! :)


То есть страница с авторизацией открывается в самом клиенте телеграма, а потом после успешной авторизации бот получит какое то callback сообщение?

Последовательность будет следующая:


  1. Пользователь жмет на ссылку в сообщении.
  2. Эта ссылка открывается в браузере и пользователь попадает на страницу логина сервера авторизации.
  3. Пользователь заполняет форму логина и нажимает submit, браузер шлет запрос серверу авторизации.
  4. Если пользователь ввел корректный логин-пароль, сервер авторизации отвечает браузеру статусом 302 с указанием адреса, куда нужно сделать редирект. Этот адрес — это как раз callback URL бота.
  5. Браузер идет на callback URL.
  6. В этот момент вызывается метод AuthEndpoint.auth бота, который, собственно, отвечает за обработку запросов, приходящих на на callback URL. В этом методе бот по коду, который есть в параметрах callback URL, запрашивает у сервера авторизации токены.
Я с Gradle-ом знаком крайне поверхностно, но так понимаю, что основная проблема заключается в том, чтобы импортировать Arquillian-овский BOM. Gradle, судя по всему, не умеет это делать из коробки, но можно попробовать подключить dependency management plugin, тогда импортировать BOM можно будет так:
dependencyManagement {
     imports {
          mavenBom 'org.jboss.arquillian:arquillian-bom:1.1.8.Final'
     }
}

В остальном, на первый взгляд, все должно быть аналогично тому, как сделано с использованием Maven.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity