add jwt cookie
This commit is contained in:
parent
bd70a76af1
commit
2d1a8bfeb4
|
@ -57,7 +57,7 @@
|
||||||
preserve_host: true
|
preserve_host: true
|
||||||
url: "http://accounts:3000"
|
url: "http://accounts:3000"
|
||||||
match:
|
match:
|
||||||
url: "http://oathkeeper:4455/<{user,user/**}>"
|
url: "http://oathkeeper<{,:4455}>/<{user,user/**}>"
|
||||||
methods:
|
methods:
|
||||||
- GET
|
- GET
|
||||||
authenticators:
|
authenticators:
|
||||||
|
|
|
@ -7,4 +7,27 @@ server {
|
||||||
proxy_redirect http://127.0.0.1/ https://$host/;
|
proxy_redirect http://127.0.0.1/ https://$host/;
|
||||||
proxy_pass http://oathkeeper:4455;
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue