Answer the question
In order to leave comments, you need to log in
How to do vk authorization with oauth + node.js + angularjs?
The problem is mainly on the client, please describe the principle of work? how to do?
when clicking on:
<a href="/auth/vkontakte" class="signin__button">
<i class="ico"></i>
Войти с помощью ВК
</a>
Answer the question
In order to leave comments, you need to log in
Серверная авторизация довольно проста. Для начала нужно разобраться, как работает OAuth. Большая часть потока происходит на серверной стороне и редирект принимает серверная сторона, а не клиентская. Т.е. ангуляру вообще пофиг на редирект в целом, но он должен понимать, что сессия как-то была начата, за это должно отвечать API (Node.js).
Вам поможет вот эта штучка https://github.com/stevebest/passport-vkontakte
На клиенте обычно все реализуется через сервис или фабрику.
Вначале вы получаете от вашего сервера ссылку, а затем перенаправляете пользователя в вк, после возврата из вк ваша серверная сторона проверяет, что все ок или нет, сохраняет где-то все внутри у себя. Потом делает редирект на SPA. Как только SPA загружена, она запрашивает от сервера, как успехи в авторизации, сервер отвечает. Далее ваша бизнес-логика.
Очень важно строго следовать правилам OAuth и не передавать токен пользователя на клиент.
Если это звучит слишком сложно, есть готовые сервисы для авторизации, например Auth0.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question