Aller au contenu

feishu-auth: Authentification basée sur la structure organisationnelle de Feishu pour nginx-module-lua

Installation

Si vous n'avez pas encore configuré d'abonnement au dépôt RPM, inscrivez-vous. Ensuite, vous pouvez procéder avec les étapes suivantes.

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

Pour utiliser cette bibliothèque Lua avec NGINX, assurez-vous que nginx-module-lua est installé.

Ce document décrit lua-resty-feishu-auth v0.0.1 publié le 11 août 2021.


Authentification basée sur la structure organisationnelle de Feishu pour OpenResty / ngx_lua

Utilisation

Téléchargement

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

Configuration

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

Explication de la configuration

  • app_id est utilisé pour définir l' App ID de l'application créée par l'entreprise sur Feishu.
  • app_secret est utilisé pour définir le App Secret de l'application créée par l'entreprise sur Feishu.
  • callback_uri est utilisé pour définir l'adresse de rappel après la connexion via le web sur Feishu (doit être configuré dans les paramètres de sécurité de l'application créée par l'entreprise sur Feishu).
  • logout_uri est utilisé pour définir l'adresse de déconnexion.
  • app_domain est utilisé pour définir le nom de domaine d'accès (doit correspondre au nom de domaine d'accès du service commercial).
  • jwt_secret est utilisé pour définir le secret JWT.
  • ip_blacklist est utilisé pour définir la liste noire d'IP.
  • uri_whitelist est utilisé pour définir la liste blanche d'adresses, par exemple, la page d'accueil n'a pas besoin d'authentification.
  • department_whitelist est utilisé pour définir la liste blanche des départements (chaîne).

Description des autorisations de l'application

  • Obtenir des informations de base sur les départements.
  • Obtenir des informations sur la structure organisationnelle des départements.
  • Lire le carnet d'adresses en tant qu'application.
  • Obtenir des informations sur la structure organisationnelle des utilisateurs.
  • Obtenir des informations de base sur les utilisateurs.

Modules dépendants

Projets connexes

Auteur

K8sCat k8scat@gmail.com

Licence open source

MIT

GitHub

Vous pouvez trouver des conseils de configuration supplémentaires et de la documentation pour ce module dans le dépôt GitHub pour nginx-module-feishu-auth.