add jwt cookie

This commit is contained in:
Karol Wypchlo 2020-12-18 18:30:00 +01:00
parent bd70a76af1
commit 2d1a8bfeb4
2 changed files with 24 additions and 1 deletions

View File

@ -57,7 +57,7 @@
preserve_host: true
url: "http://accounts:3000"
match:
url: "http://oathkeeper:4455/<{user,user/**}>"
url: "http://oathkeeper<{,:4455}>/<{user,user/**}>"
methods:
- GET
authenticators:

View File

@ -7,4 +7,27 @@ server {
proxy_redirect http://127.0.0.1/ https://$host/;
proxy_pass http://oathkeeper:4455;
}
location /.ory/kratos/public/self-service/login/methods/password {
proxy_redirect http://127.0.0.1/ https://$host/;
proxy_pass http://oathkeeper:4455;
header_filter_by_lua_block {
if ngx.status >= ngx.HTTP_OK and ngx.status < ngx.HTTP_BAD_REQUEST then
local http = require("socket.http")
local sessionCookie = ""
local responseCookies = {}
for k, cookie in ipairs(ngx.header["set-cookie"]) do
local sessionCookieMatch = string.match(cookie, "(ory_kratos_session=[^;]+);")
if sessionCookieMatch then sessionCookie = sessionCookieMatch end
table.insert(responseCookies, cookie)
end
local ok, status, headers = http.request { url = "http://oathkeeper:4455/user", headers = { Cookie = sessionCookie } }
if headers["set-cookie"] then
table.insert(responseCookies, headers["set-cookie"])
ngx.header["set-cookie"] = responseCookies
end
end
}
}
}