October 19, 2023

СМС в Телеграм (или в запись БД)

Cегодня двухфакторная аутентификация для доступа к ресурсам на многих сервисах де-факто стандарт. Как сделать так, чтобы это не "тормозило" рабочий процесс я расскажу в этом тексте.

СМС и звонки в телеграм... или в БД... или куда угодно по API

Политика большинства сервисов, использующих двухфакторную аутентификацию, такова, что невозможно отказаться от такого способа идентификации.

И вот, когда необходимо дать сотруднику доступ к аккаунту какого-нибудь сервиса с этой особенностью, очень нужно переслать СМС с телефона на телефон для авторизации. Иначе, рабочий процесс из потока действий превращается в набор островков ожидания друг друга.

Сначала сотрудник ждет пока вы освободитесь и будете рядом с телефоном (А как иначе переслать СМС на ватсап или переслать СМС на другой телефон?).

Затем вы ждете, пока он введет пароль на странице сервиса.

(Ведь все в нашем мире находится на СМС контроле... и СМС система контроля нашего сервиса, не дремлет. И не хочет пускать нашего сотрудника без СМС контроля))

После этого, вы оба ждете, пока придет СМС или поступит телефонный звонок.

(Да-да ведь это может быть не только СМС контроль, но и контроль звонков... Веренее контроль того есть ли у несчастного сотрудника контроль входящих звонков в связи с аккаунтом на сервисе )

И вот, наконец, текст долгожданного СМС контроля (или последние 4 цифры входящего номера) отправляются сотруднику в телегу…

(система контроля звонков и СМС нашего сервиса может теперь успакоиться)

Хорошо, если достаточно одной такой процедуры контроля звонков и СМС в день… Однако большинство распространенных задач требуют от нескольких до нескольких десятков циклов аутентификации в течение рабочего дня.

А значит придется каждый раз преодолевать СМС контроль или систему контроля входящих звонков.

Вот только некоторые типовые задачи, требующие двухфакторную аутентификацию:

  • доступ к почте с двухфакторной аутентификацией (СМС контроль);
  • подтверждение оплаты в интернет магазине с двухфакторной аутентификацией (СМС контроль или контроль звонков);
  • привязка платежной карты к сервису с подтверждением по СМС или по звонку со случайного номера (СМС контроль или контроль звонков).

Однажды, посмотрев на мучения моего товарища, операторы которого совершали до 100 покупок в день с общей пластиковой карты, я написал android sms приложение. Оно переправляет СМС Android телефона, как только СМС приходит на телефон. Дальше, больше. Получилось еще одно android приложение для контроля входящих звонов. Ссылки, ниже.

Со временем, мои приложения для Android контроля телефоных звонков и sms android СМС контроля, научились отправлять данные о телефонных вызовах и содержание входящих СМС на любой HTTPx REST API

И вот, руки дошли и до публикации написанного.
Русскоязычная версия приложений smsTOapi и callsTOapi опубликована RuStore.

Что делают приложения?

smsTOapi прислушивается к состоянию вашего телефона, и как только поступает входящее СМС контроля, дублирует пришедшие данные на заранее настроенный вами API endpoint.
Отправка данных осуществляется POST-запросом. Есть возможность подписи запроса в настраиваемом заголовке либо, непосредственно, в теле. Это позволяет обеспечить достаточный уровень безопасности.

Все полученные СМС отображаются в списке главного экрана приложения.

callsTOapi выполняет все те же самые действия с одной лишь только разницей: это приложение перехватывает входящие и исходящие телефонные вызовы.
Оба приложения выполняются как в бэкграунд-режиме так и при запуске на главном экране телефона.
У приложений callsTOapi и smsTOapi есть подробный help, однако я сделал отдельную страницу, описывающую нехитрую процедуру настроек.

Тем, кто хочет переслать СМС или осуществлять контроль звонков через телеграм прямо сейчас...

Специально для вас, МОИ НЕТЕРПЕЛИВЫЕ ;), я сделал демо-бота... Он годится для того, чтобы пару-тройку дней "поиграть" с переправкой СМС и входящих вызовов в телеграм.

Но, конечно, не гарантирует вам полной конфиденциальности или доступности сервиса 24/7. Для постоянного использования лучше завести себе отдельный сервис.

Итак, чтобы СМС и звонки стали поступать в телеграм, нужно:

  1. Установить приложения callsTOapi и/или smsTOapi
  2. Присоедениться к боту (достаточно перейти по ссылке или отсканировать QR-код ниже и сказать боту /start).
Демобот покажет одному вам СМС и звонки с телефона, накотором вы прописали полученный ключ

Что нужно иметь, чтобы попробовать, как это работает

Нужно иметь два телефона, подключенных к интернет. Один из них должен быть на базе Android. Именно на этом телефоне вам и нужно установить приложение для перенаправления информации о телефонных вызовах в телеграм (callsTOapi) и/или приложение для перенаправления содержимого входящих СМС в телеграм (smsTOapi).

На другом телефоне должен быть установлен телеграм. Именно с него вам и нужно зайти в телеграм бота, получить ключ и другие настройки. Эти настройки вам нужно прописать в установленных приложениях.

Демо-бот подскажет как это сделать, если растеряетесь.

Важные детали

Сообщения о телефонных вызовах и/или с содержанием СМС будут доступны только вам. Другие пользователи демо-бота не смогут их увидеть.

Сделав свой постоянный бот, вы сможете предоставить доступ к чтению информации тем, кому посчитаете нужным.

Один раз в сутки приложение для перенаправления информации о телефонных вызовах в телеграм (callsTOapi) и приложение для перенаправления содержимого входящих СМС в телеграм (smsTOapi) сбрасывают настройки API endpoint. Будьте внимательны и не забывайте их обновлять.

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

ММ

Ссылки списком

Android приложение smsTOapi - отправляет содержимое android sms на HTTP API

Android приложение callsTOapi - отправляет данные о звонках на HTTP API, позволяя сохранить номер звонившего

@signinssobot - демо-бот помогает быстро протестировать возможности приложений и сохранить номер звонившего и/или смс android телефона

Статья - описывает настройку android смс приложения и демо-бота по шагам, позволяя сразу протестировать