apisix_issues
插件打印日志
core.log.warn(core.json.encode(conf))
源码分析
/usr/local/apisix/apisix/plugins/openid-connect.lua
插件入口
function _M.rewrite(plugin_conf, ctx)
处理code逻辑
/usr/local/apisix/deps/share/lua/5.1/resty/openidc.lua
-- handle a "code" authorization response from the OP
-- 主要处理code,然后将用户相关信息保存在session.data里
local function openidc_authorization_response(opts, session)
处理session流程
/usr/local/apisix/deps/share/lua/5.1/resty/session.lua
-- 保存session
local function save(session, close)
-- 保存session的时候会返回cookie设置
session.expires = session.now + session.cookie.lifetime
set_usebefore(session)
local cookie, err = session.strategy.save(session, close)
if not cookie then
return nil, err or "unable to save session cookie"
end
return set_cookie(session, cookie)
end
--
local function set_cookie(session, value, expires)
-- 基于cookie大小来进行cookie的分块
if expires then
-- expiring cookie, so deleting data. Do not measure data, but use
-- existing chunk count to make sure we clear all of them
cookie_parts = cookie.chunks or 1
else
-- calculate required chunks from data
cookie_chunks = max(ceil(#value / cookie.maxsize), 1)
cookie_parts = max(cookie_chunks, cookie.chunks or 1)
end
...
{% if enable_http then %}
http {
# 加上以下配置,提升header最大值
proxy_buffer_size 128k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
client_header_buffer_size 20k;
large_client_header_buffers 4 20k;