B
B
Bogdan Bembenok2016-11-02 00:50:19
Angular
Bogdan Bembenok, 2016-11-02 00:50:19

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>

server authorization is performed using oauth with a redirect to "auth/vkontakte/callback?code=*************************"
how to catch response using angular? what to do with it anyway?

Answer the question

In order to leave comments, you need to log in

2 answer(s)
P
Philipp, 2016-11-02
@b_e_m

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

I
ITZver, 2017-08-17
@ITZver

Described in the article how to catch a callback without exiting the application. Everything is very simple.
Article

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question