Pular para conteúdo

weauth: Autenticação de login baseada na estrutura organizacional do WeChat empresarial para nginx-module-lua

Instalação

Se você ainda não configurou a assinatura do repositório RPM, inscreva-se. Em seguida, você pode prosseguir com os seguintes passos.

CentOS/RHEL 7 ou 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 com o NGINX, certifique-se de que o nginx-module-lua esteja instalado.

Este documento descreve lua-resty-weauth v0.0.3 lançado em 11 de agosto de 2021.


Autenticação de login baseada na estrutura organizacional do WeChat empresarial para OpenResty/ngx_lua

Uso

Download

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

Configuração

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()
    }
}

Descrição da configuração:

  • corp_id é usado para definir o ID da empresa
  • app_agent_id é usado para definir o AgentId do aplicativo criado no WeChat empresarial
  • app_secret é usado para definir o Secret do aplicativo criado no WeChat empresarial
  • callback_uri é usado para definir o endereço de callback após o login via QR code do WeChat empresarial (deve ser configurado no domínio de callback de autorização do WeChat empresarial)
  • logout_uri é usado para definir o endereço de logout
  • app_domain é usado para definir o domínio de acesso (deve ser o mesmo que o domínio de acesso do serviço)
  • jwt_secret é usado para definir o segredo JWT
  • ip_blacklist é usado para definir a lista negra de IPs
  • uri_whitelist é usado para definir a lista branca de endereços, por exemplo, a página inicial não precisa de autenticação
  • department_whitelist é usado para definir a lista branca de departamentos (números)

Módulos Dependentes

Projetos Relacionados

Autor

K8sCat k8scat@gmail.com

Licença de Código Aberto

MIT

GitHub

Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório GitHub do nginx-module-weauth.