stevebest / passport-vkontakte

VK.com authentication strategy for Passport and Node.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ошибки в консоли

istoro opened this issue · comments

Постоянно получаю ошибки в консоль, вида:
VkontakteAuthorizationError: User denied your request
И т.п.
Как их вообще отключить?

Никакая сила мне может заставить пользователя согласиться на авторизацию - ошибки отмены авторизации были, есть и будут. Обрабатывайте их и не выводите в консоль.

Каким образом я могу их обрабатывать?

Это зависит от того, какого рода приложение вы делаете. Если вы делаете веб-страницу профиля пользователя, то при отказе авторизации вы, скорее всего, хотите каким-то образом сообщить пользователю, что он не прав, и нужно все-таки разрешить авторизацию. Это можно сделать, например, перенаправив его на страницу с грустным сообщением. Для этого предусмотрен параметр failureRedirect.

Если очень хочется, то можно дополнительно обработать ошибку - например, внести ее в лог.

Внимательно изучите документацию модуля Passport, в котором происходит основная механика по авторизации.

Вот адаптированный пример из документации на все случаи жизни. Скорее всего, в вашем случае можно обойтись и более простыми средствами. Они тоже описаны в документации :)

app.get('/login', function(req, res, next) {
  passport.authenticate('vkontakte', function(err, user, info) {
    if (err) { return next(err); } // << тут можно сделать что-нибудь другое.
    // ошибки нет, можно продолжать.
    // ...
  })(req, res, next);
});