Я реализую свой собственный Oauth-сервер для неявного oauth-потока, как определено здесь https://developers.google.com/actions/identity/oauth2?oauth=implicit
Кажется достаточно простым, после проверки деталей клиента мне просто нужно перенаправить, верно?Вот где я столкнулся с проблемой.В документации сказано, что URL перенаправления должен быть следующим:
https://oauth -redirect.googleusercontent.com / r / YOUR_PROJECT_ID # access_token = ACCESS_TOKEN & token_type = тип канала-носителя & state = STATE_STRING
Обратите внимание на '#' .
Однако, когда вы перенаправляете на этот URL, кажется, что это странно портит действия в Google, после чего намерение «Войти в помощника», которое мы использовали ранее, на мгновение, похоже, работает, а затем не удается.Это должно произойти сбой, но консоль не показывает никаких ошибок

На самом деле эта проблема сохраняется, и единственный способ, которым я имеюнайдено удаление это воссоздать проект.(О, боль: /)
Однако, когда я заменяю "#" на "?"как обычная строка запроса, после перенаправления мы получаем ошибку 400 -
Параметр "код" или "ошибка" должен быть установлен в строке запроса.
Я не уверен, что я делаю не так здесь.Для справки это JS, который создает URL перенаправления -
//bearerToken already generated at this point in the code
var redirectUri = params.get("redirect_uri");
var state = params.get("state");
var redirectString = redirectUri;
redirectString+="#access_token="+bearerToken;
redirectString+="&token_type=bearer";
redirectString+="&state="+state;
window.location.href=redirectString;