Вы почти не можете создать обобщенный алгоритм обнаружения, который бы работал на каждой странице. Как вы сами упомянули, разные страницы имеют разные схемы.
Даже в схеме, где страница входа в систему и целевая страница отличаются, как вы узнаете, отображает ли страница пост-входа ошибку или уведомляет кого-либо об успешном входе в систему?
Первый метод, который вы упомянули, на самом деле имеет свои достоинства и может действительно работать для большинства сайтов, но опять же есть большая вероятность того, что у вас возникнут проблемы, когда мы поговорим о входе в систему с использованием аутентификации FB или аутентификации учетных записей Google, так как Это многократные перенаправления, и, кроме того, ввод пароля может не произойти (если я уже вошел в учетные записи Google, то просто выбрав Google, поскольку мой поставщик идентификаторов регистрирует меня в StackOverflow).
Если вы могли бы рассмотреть вышеупомянутый случай и найти обходной путь (проверка перенаправлений для определенных поставщиков. Их не так много, так что вы могли бы охватить большинство случаев), тогда да, ваше первое решение в сочетании с это может обеспечить работоспособный метод.