Я пытаюсь написать небольшой скрипт LUA, чтобы определить, приходит ли запрос с правильным ключом API.Если нет, откажитесь от запроса;если это так, запишите в запрос другой пользовательский заголовок, чтобы вышестоящий сервер мог обработать этот запрос.
Я получил общую идею, написанную в сценарии, но я не вижу, как она работает - в результате запроса нет пользовательского заголовка, в который следует записать.Что я делаю не так?
local piq_header = "x-api-key"
local authenticated_header = "x-authenticated"
local valid_piq_api_keys = {
["a_long_random_string"] = "client1"
}
-- check if api key request header is set
if ngx.header[piq_header] then
local api_key = ngx.header[piq_header]
-- check if api key is valid
if valid_piq_api_keys[api_key] then
local retailer = valid_piq_api_keys[api_key]
ngx.header.authenticated_header = customer
return
else
ngx.exit(ngx.HTTP_FORBIDDEN)
end
else
ngx.header.authenticated_header = nil;
return
end