Серверная авторизация довольно проста. Для начала нужно разобраться,
как работает OAuth. Большая часть потока происходит на серверной стороне и редирект принимает серверная сторона, а не клиентская. Т.е. ангуляру вообще пофиг на редирект в целом, но он должен понимать, что сессия как-то была начата, за это должно отвечать API (Node.js).
Вам поможет вот эта штучка
https://github.com/stevebest/passport-vkontakte
На клиенте обычно все реализуется через сервис или фабрику.
Вначале вы получаете от вашего сервера ссылку, а затем перенаправляете пользователя в вк, после возврата из вк ваша серверная сторона проверяет, что все ок или нет, сохраняет где-то все внутри у себя. Потом делает редирект на SPA. Как только SPA загружена, она запрашивает от сервера, как успехи в авторизации, сервер отвечает. Далее ваша бизнес-логика.
Очень важно строго следовать правилам OAuth и не передавать токен пользователя на клиент.
Если это звучит слишком сложно, есть готовые сервисы для авторизации, например
Auth0.