AngularJS Google Oauth 400 Ошибка Недопустимое значение параметра для redirect_uri: фрагмент не допускается
Я использую Kinvey для обработки Oauth в своем приложении AngularJS, и оно отлично работает для Facebook, но когда я пытаюсь войти в систему с помощью Google, я получаю сообщение об ошибке 400:
Ошибка: invalid_request
Неверное значение параметра для redirect_uri: фрагмент не разрешен: localhost:9000/#/login
Кто-нибудь когда-нибудь сталкивался с этой проблемой с Google Oauth и Angular? Любые идеи о том, как я могу обойти это? Проблема связана с хэшем в URL для маршрутизации Angular.
1 ответ
Решение
#
называется fragment identifier
, Ошибка Fragment not allowed:
означает, что вы должны заменить #
с альтернативой, такой как:
- локальный:9000/ путь / Логин
Затем перенаправьте с Kinvey:
req.request({uri: 'http://localhost:9000/route/login',
method: 'GET'},
function(error, response, body){
response.statusCode = 302;
response.setHeader("Location", "/#/login");
response.end();
}
);
Вот несколько не связанных вопросов с похожими проблемами:
- Перенаправить на другой URL-адрес страницы в Node.js (не в экспресс или других рамках)
- Перенаправление клиента с NodeJS и Restify
- Кодировка URI в почте Yahoo, составляющая ссылку
- Фрагмент URL отсутствует в URI перенаправления
- Почему якоря в кодировке URI ('#') вызывают 404 и как с этим бороться в JS?