1

在 location 下使用 openidc 模块自省并在下面使用调用,

 Policy section
#
location = /_sample {
    internal;
    set $api_name "sample"; 
    access_by_lua_file /etc/nginx/path/oauth_introspection.lua;
     Proxypass......
}

现在我想在 lua 文件下面添加一些内容并在同一请求下验证某些内容。

 Policy section
#
location = /_sample {
    internal;
    set $api_name "sample"; 
    access_by_lua_file /etc/nginx/path/oauth_introspection.lua;
        access_by_lua_file /etc/nginx/path/do_something.lua; //Error with duplicate
     Proxypass......
}

而我的 oauth_introspection.lua 有这个 openidc 内省逻辑,

local res, err = require("resty.openidc").introspect(opts)
4

1 回答 1

0

access_by_lua_file只能使用一次。您必须在 lua 文件中组合您的代码:

location = /_sample {
    internal;
    set $api_name "sample"; 
    access_by_lua_file /etc/nginx/path/action_sample.lua;
    Proxypass......
}

action_sample.lua:

local res, err = require("resty.openidc").introspect(opts)

-- do something or 
loadfile("/etc/nginx/path/do_something.lua")(opts)

于 2020-03-08T22:18:42.110 回答