Перейти к содержанию

feishu-auth: Аутентификация на основе структуры организации Feishu для nginx-module-lua

Установка

Если вы еще не настроили подписку на RPM-репозиторий, зарегистрируйтесь. Затем вы можете продолжить с следующими шагами.

CentOS/RHEL 7 или 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

Чтобы использовать эту библиотеку Lua с NGINX, убедитесь, что nginx-module-lua установлен.

Этот документ описывает lua-resty-feishu-auth v0.0.1 выпущенный 11 августа 2021 года.


Аутентификация на основе структуры организации Feishu для OpenResty / ngx_lua

Использование

Загрузка

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

Конфигурация

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

Описание конфигурации

  • app_id используется для установки App ID приложения, созданного вашей компанией в Feishu
  • app_secret используется для установки App Secret приложения, созданного вашей компанией в Feishu
  • callback_uri используется для установки адреса обратного вызова после входа в систему через Feishu (необходимо установить URL перенаправления в настройках безопасности приложения Feishu)
  • logout_uri используется для установки адреса выхода
  • app_domain используется для установки домена доступа (должен совпадать с доменом доступа бизнес-сервиса)
  • jwt_secret используется для установки JWT secret
  • ip_blacklist используется для установки черного списка IP
  • uri_whitelist используется для установки белого списка адресов, например, главная страница не требует аутентификации
  • department_whitelist используется для установки белого списка отделов (строка)

Описание прав приложения

  • Получение основной информации об отделах
  • Получение информации о структуре организации отделов
  • Чтение адресной книги от имени приложения
  • Получение информации о структуре организации пользователей
  • Получение основной информации о пользователях

Зависимые модули

Связанные проекты

  • lua-resty-weauth Аутентификация на основе структуры организации WeChat Work для OpenResty / ngx_lua

Автор

K8sCat k8scat@gmail.com

Лицензия

MIT

GitHub

Вы можете найти дополнительные советы по конфигурации и документацию для этого модуля в репозитории GitHub для nginx-module-feishu-auth.