mirror of
https://github.com/xiaoxinpro/nginx-proxy-manager-zh.git
synced 2025-02-08 20:48:15 -05:00
26 lines
867 B
Plaintext
26 lines
867 B
Plaintext
|
{% if openidc_enabled -%}
|
||
|
access_by_lua_block {
|
||
|
local openidc = require("resty.openidc")
|
||
|
local opts = {
|
||
|
redirect_uri = "{{- openidc_redirect_uri -}}",
|
||
|
discovery = "{{- openidc_discovery -}}",
|
||
|
token_endpoint_auth_method = "{{- openidc_auth_method -}}",
|
||
|
client_id = "{{- openidc_client_id -}}",
|
||
|
client_secret = "{{- openidc_client_secret -}}",
|
||
|
scope = "openid email profile"
|
||
|
}
|
||
|
|
||
|
local res, err = openidc.authenticate(opts)
|
||
|
|
||
|
if err then
|
||
|
ngx.status = 500
|
||
|
ngx.say(err)
|
||
|
ngx.exit(ngx.HTTP_INTERNAL_SERVER_ERROR)
|
||
|
end
|
||
|
|
||
|
|
||
|
ngx.req.set_header("X-OIDC-SUB", res.id_token.sub)
|
||
|
ngx.req.set_header("X-OIDC-EMAIL", res.id_token.email)
|
||
|
ngx.req.set_header("X-OIDC-NAME", res.id_token.name)
|
||
|
}
|
||
|
{% endif %}
|