Saltar a contenido

weauth: autenticación de inicio de sesión basada en la estructura organizativa de WeChat empresarial para nginx-module-lua

Instalación

Si aún no has configurado la suscripción al repositorio RPM, regístrate. Luego puedes proceder con los siguientes pasos.

CentOS/RHEL 7 o Amazon Linux 2

yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install lua-resty-weauth

CentOS/RHEL 8+, Fedora Linux, Amazon Linux 2023

dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install lua5.1-resty-weauth

Para usar esta biblioteca Lua con NGINX, asegúrate de que nginx-module-lua esté instalado.

Este documento describe lua-resty-weauth v0.0.3 lanzado el 11 de agosto de 2021.


Autenticación de inicio de sesión basada en la estructura organizativa de WeChat empresarial para OpenResty/ngx_lua

Uso

Descarga

cd /path/to
git clone [email protected]:ledgetech/lua-resty-http.git
git clone [email protected]:SkyLothar/lua-resty-jwt.git
git clone [email protected]:k8scat/lua-resty-weauth.git

Configuración

server {
    access_by_lua_block {
        local weauth = require "resty.weauth"
        weauth.corp_id = ""
        weauth.app_agent_id = ""
        weauth.app_secret = ""
        weauth.callback_uri = "/weauth_callback"
        weauth.logout_uri = "/weauth_logout"
        weauth.app_domain = "weauth.example.com"

        weauth.jwt_secret = "thisisjwtsecret"

        weauth.ip_blacklist = {"47.1.2.3"}
        weauth.uri_whitelist = {"/"}
        weauth.department_whitelist = {1, 2}

        weauth:auth()
    }
}

Descripción de la configuración:

  • corp_id se utiliza para establecer el ID de la empresa
  • app_agent_id se utiliza para establecer el AgentId de la aplicación creada por la empresa en WeChat
  • app_secret se utiliza para establecer el Secret de la aplicación creada por la empresa en WeChat
  • callback_uri se utiliza para establecer la dirección de retorno después del inicio de sesión con código QR de WeChat empresarial (debe establecerse en el dominio de retorno autorizado en el inicio de sesión autorizado de WeChat empresarial)
  • logout_uri se utiliza para establecer la dirección de cierre de sesión
  • app_domain se utiliza para establecer el nombre de dominio de acceso (debe coincidir con el nombre de dominio de acceso del servicio empresarial)
  • jwt_secret se utiliza para establecer el secreto de JWT
  • ip_blacklist se utiliza para establecer la lista negra de IP
  • uri_whitelist se utiliza para establecer la lista blanca de direcciones, por ejemplo, la página de inicio no necesita autenticación de inicio de sesión
  • department_whitelist se utiliza para establecer la lista blanca de departamentos (números)

Módulos dependientes

Proyectos relacionados

Autor

K8sCat k8scat@gmail.com

Licencia de código abierto

MIT

GitHub

Puedes encontrar consejos de configuración adicionales y documentación para este módulo en el repositorio de GitHub para nginx-module-weauth.