#node.js #facebook #api
#node.js #Facebook #API
Вопрос:
При попытке входа в систему с помощью Facebook я получаю следующее сообщение об ошибке:
FacebookTokenError: Error validating verification code.
Please make sure your redirect_uri is identical to the one you used in the
OAuth dialog request
URL-адрес в диалоговом запросе OAuth:
https://www.facebook.com/v3.2/dialog/oauth?response_type=codeamp;redirect_uri=https://url.com/auth/facebook/callbackamp;scope=email,public_profileamp;client_id=<id here>
В настройках входа в Facebook приложения я добавил все варианты URL-адреса, о которых мог подумать:
https://url.com/auth/facebook/callback
https://url.com/auth/facebook/callback/
https://url.com/auth/facebook/callback?code=
https://url.com/auth/facebook/callback?scope=email,public_profileamp;client_id=<id here?
Какой URL-адрес я должен добавить?
Комментарии:
1. Речь идет о вызове API, который вы выполняете для обмена кода на токен, после того, как пользователь был перенаправлен обратно в ваше приложение. В этом вызове API вам необходимо указать точно такое же значение redirect_uri, которое использовалось при вызове диалогового окна входа. Большинство фреймворков / библиотек могут обрабатывать это автоматически, если процесс входа в систему был запущен с того же URL-адреса, но если он был другим или вы не используете какие-либо фреймворки, вам может потребоваться явно указать его самостоятельно.
2. Является ли «вызов API, который вы выполняете для обмена кода на токен», не тем URL, который я вставил выше? Тот, который предоставляет client_id и имеет response_type, установленный для code?
3. Нет, именно туда вы перенаправляете пользователя во внешнем интерфейсе, чтобы показать диалоговое окно входа. Пользователь перенаправляется обратно в ваше приложение (на redirect_uri, указанный в вызове диалогового окна входа), и там вашему приложению необходимо выполнить вызов API (в фоновом режиме) для обмена кода на токен.