Очень просто:
1. Нужно помнить, что в окне и до вашей сети возможно наличие других документов, к которым пользователь может изволить вернуться. А что это значит?
2. Верно, нам нужно просто заменить страницу авторизации на страницу пользователя. А как это сделать?
3. Ну конечно, есть же объект Location и его метод:
location.replace(новый_адрес);
Однако, есть проблема (как всегда, у еды два выхода) — то ли страница пользователя, то ли ошибка авторизации. Выход — с помощью AJAX слать данные (безусловно по https, мы же не гопники какие).
Ну а дальше понятно:
— пришла ошибка — подсветили поля и сообщение вывели
— пришёл идентификатор пользователя — делаем replace чудодейственный с адресом страницы пользователя (можно даже и куки установить, хотя это и страница пользователя может сдеать)
4. Есть также History и возможность делать replace именно записи в истории, но этот вариант не буду даже и рассматривать.