У меня немного трудные времена для реализации потока аутентификации.
Этот следующий поток работает: со стороны клиента, я делаю перенаправление на сторону серв:
document.location.href = URI.UriSignIn
На стороне сервера я делаю перенаправление на сервер авторизации Google:
const baseURI = "https://accounts.google.com/o/oauth2/v2/auth?";
const redirect_uri =
`redirect_uri=http://${process.env.URIBASE}:8081/callBackGoogle`;
const prompt = "&prompt=consent";
const reponse_type = "&response_type=code";
const client_id =
"&client_id=" + process.env.CLIENT_ID;
const scope =
"&scope=https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/userinfo.profile";
res.writeHead(302, {
'Access-Control-Allow-Origin': '*',
Location:
baseURI +
redirect_uri +
prompt +
reponse_type +
client_id +
scope
});
Это работает, но сейчас я пытаюсь добавить «UUID» к перенаправлению со стороны клиента на сторону сервера, чтобы клиент могпозже извлеките его JWT следующим образом:
axios.get(URI.UriSignIn, {
headers: {
'token-client': uuid()
}
})
с той же стороной кода службы, и я получаю следующую ошибку
Я нашел обходной путь, который разделяет перенаправлениев 2 запросах, один для отправки UUID, а другой для перенаправления, но это не самое безопасное (из соображений безопасности)