Zum Inhalt

feishu-auth: Basierte Login-Authentifizierung auf der Organisationsstruktur von Feishu für nginx-module-lua

Installation

Wenn Sie das RPM-Repository-Abonnement noch nicht eingerichtet haben, melden Sie sich an. Dann können Sie mit den folgenden Schritten fortfahren.

CentOS/RHEL 7 oder 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

Um diese Lua-Bibliothek mit NGINX zu verwenden, stellen Sie sicher, dass nginx-module-lua installiert ist.

Dieses Dokument beschreibt lua-resty-feishu-auth v0.0.1, das am 11. August 2021 veröffentlicht wurde.


Basierte Login-Authentifizierung auf der Organisationsstruktur von Feishu für OpenResty / ngx_lua

Verwendung

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

Konfiguration

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

Konfigurationsbeschreibung

  • app_id wird verwendet, um die App ID der selbst erstellten Feishu-Anwendung festzulegen
  • app_secret wird verwendet, um das App Secret der selbst erstellten Feishu-Anwendung festzulegen
  • callback_uri wird verwendet, um die Rückrufadresse nach dem Login über die Feishu-Webseite festzulegen (muss in den Sicherheitseinstellungen der selbst erstellten Feishu-Anwendung als Umleitungs-URL festgelegt werden)
  • logout_uri wird verwendet, um die Logout-Adresse festzulegen
  • app_domain wird verwendet, um die Zugriffsdomäne festzulegen (muss mit der Zugriffsdomäne des Dienstes übereinstimmen)
  • jwt_secret wird verwendet, um das JWT-Secret festzulegen
  • ip_blacklist wird verwendet, um die IP-Blacklist festzulegen
  • uri_whitelist wird verwendet, um die Adress-Whitelist festzulegen, z. B. benötigt die Startseite keine Login-Authentifizierung
  • department_whitelist wird verwendet, um die Abteilungs-Whitelist festzulegen (Strings)

Anwendungsberechtigungen

  • Abrufen von Basisinformationen zur Abteilung
  • Abrufen von Organisationsinformationen zur Abteilung
  • Lesen des Adressbuchs im Namen der Anwendung
  • Abrufen von Organisationsinformationen zum Benutzer
  • Abrufen von Basisinformationen zum Benutzer

Abhängige Module

Verwandte Projekte

Autor

K8sCat k8scat@gmail.com

Open-Source-Lizenz

MIT

GitHub

Zusätzliche Konfigurationstipps und Dokumentationen für dieses Modul finden Sie im GitHub-Repository für nginx-module-feishu-auth.