Я пытаюсь установить повара ie в одном домене и отправить его в другой домен.
Архитектура:
API-Gateway -> User service
When a login request receives to Gateway, it forwards it to User service.
User service does credential checking, if it matches, then redirect it to gateway.
expiration := time.Now().Add(24 * time.Hour)
cookie := http.Cookie{Name: "usercookie",Value:jwtToken,Expires:expiration,Path:"/"}
http.SetCookie(res, &cookie)
redirectURL := "http://localhost:7070/home?usercookie=" + url.QueryEscape(cookie)
http.Redirect(res, req, redirectURL , http.StatusFound)
Я получаю
не может использовать cook ie (введите http.Cook ie) в качестве строки типа в аргументе url.QueryEscape
Как мне решить эту проблему? Мои системы работают как микро-сервисы, так как я могу решить эту проблему?
Есть ли другие варианты использования файлов cookie в доменах?
Редактировать:
Когда я использую просто http.Cookie()
, а затем перенаправить поток из пользовательской службы.
// User service
expiration := time.Now().Add(24 * time.Hour)
cookie := http.Cookie{Name: "usercookie",Value:jwtToken,Expires:expiration}
http.SetCookie(res, &cookie)
http.Redirect(res, req, "http://localhost:7070/home" , http.StatusFound)
// Gateway home controler
func home(res http.ResponseWriter,req *http.Request){
cookie,cookieError:= req.Cookie("usercookie")
if cookieError != nil{
log.Println("There is an error in cookie : ",cookieError)
}
log.Println("User cookie is : ",cookie.Name)
}
Вывод:
Произошла ошибка в cook ie: http: named cook ie нет
Как отправить повара ie или заголовок через http.Redirect
HTTP Redirect (302) Не работает t Используйте Cook ie в следующем запросе GET