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_idest utilisé pour définir l'App IDde l'application créée par l'entreprise sur Feishu.app_secretest utilisé pour définir leApp Secretde l'application créée par l'entreprise sur Feishu.callback_uriest 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_uriest utilisé pour définir l'adresse de déconnexion.app_domainest utilisé pour définir le nom de domaine d'accès (doit correspondre au nom de domaine d'accès du service commercial).jwt_secretest utilisé pour définir le secret JWT.ip_blacklistest utilisé pour définir la liste noire d'IP.uri_whitelistest utilisé pour définir la liste blanche d'adresses, par exemple, la page d'accueil n'a pas besoin d'authentification.department_whitelistest 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
- lua-resty-weauth Authentification basée sur la structure organisationnelle de WeChat Work pour OpenResty / ngx_lua
Auteur
K8sCat k8scat@gmail.com
Licence open source
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.