Вас справедливо беспокоит атака типа MITM, возможно, из-за отравления DNS-кэша или подобного. В зависимости от ваших обстоятельств может быть достаточно смягчить потенциальные последствия этого, добавив временное ограничение к токену входа в систему, который передается через границы приложения.
«GUID в подходе к базе данных» - это то, что я сам успешно использовал в прошлом как для передачи пользователей между двумя приложениями, использующими одну и ту же базу данных аутентификации, так и для сценариев типа «сброс пароля». Вы можете «истечь», добавив в запись дополнительный столбец, в котором указана дата добавления GUID, и измените код своего приложения так, чтобы он регистрировал только те идентификаторы GUID, которые имеют возраст менее x минут / часов / дней.
Альтернативой может быть исключение дополнительных полей в базе данных путем объединения чего-то вроде:
UserId + [Value representing current time to nearest x minute / hour /day] + Salt
.. хеширование, затем дублирование вашего алгоритма в другом приложении и сравнение двух сгенерированных значений.
В общем, я думаю, что предложенное вами решение соответствует проблеме. Это, конечно, не слишком сложно.