Pular para conteúdo

feishu-auth: Autenticação de login baseada na estrutura organizacional do Feishu 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-feishu-auth

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

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

Para usar esta biblioteca Lua com NGINX, certifique-se de que o nginx-module-lua esteja instalado.

Este documento descreve lua-resty-feishu-auth v0.0.1 lançado em 11 de agosto de 2021.


Autenticação de login baseada na estrutura organizacional do Feishu 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-feishu-auth.git

Configuração

server {
    access_by_lua_block {
        local feishu_auth = require "resty.feishu_auth"
        feishu_auth.app_id = ""
        feishu_auth.app_secret = ""
        feishu_auth.callback_uri = "/feishu_auth_callback"
        feishu_auth.logout_uri = "/feishu_auth_logout"
        feishu_auth.app_domain = "feishu-auth.example.com"

        feishu_auth.jwt_secret = "thisisjwtsecret"

        feishu_auth.ip_blacklist = {"47.1.2.3"}
        feishu_auth.uri_whitelist = {"/"}
        feishu_auth.department_whitelist = {"0"}

        feishu_auth:auth()
    }
}

Explicação da Configuração

  • app_id é usado para definir o App ID do aplicativo criado pela empresa no Feishu
  • app_secret é usado para definir o App Secret do aplicativo criado pela empresa no Feishu
  • callback_uri é usado para definir o endereço de callback após o login na web do Feishu (deve ser configurado na URL de redirecionamento nas configurações de segurança do aplicativo criado pela empresa no Feishu)
  • 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 de negócios)
  • 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 (string)

Descrição das Permissões do Aplicativo

  • Obter informações básicas do departamento
  • Obter informações da estrutura organizacional do departamento
  • Ler a lista de contatos na identidade do aplicativo
  • Obter informações da estrutura organizacional do usuário
  • Obter informações básicas do usuário

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-feishu-auth.