普通安装

1. 环境准备

安装LiteAuth需要下列环境:

  • Linux/Mac OS

  • Python3.6+ ( maybe 3.4, 3.5 )

  • git

  • nginx或其他同类软件

安装前建议你创建个虚拟环境(虽然这部不必须的,但强烈建议你这么做):

python3 -m venv /your_path/liteAuth_env
source /your_path/liteAuth_env

2. 拉取代码

git clone https://github.com/gojuukaze/liteAuth.git

3. 初始化

cd liteAuth

# 你可以添加参数 "-i https://mirrors.aliyun.com/pypi/simple/" 加速下载
pip3 install -r requirements.txt

./lite_auth.py init

注解

初始化时会在在 config/config.py 中生成一个随机的密钥 SECRET_KEY ,这个请保存这个密钥不要丢失。 迁移服务时必须使用相同的密钥。

  • 初始化时可以使用 -s 设置秘钥。运行 ./lite_auth.py init --help 查看说明。

  • 你可以使用 ./lite_auth.py gen-secret-key 生成随机的密钥

注解

如果你没使用虚拟环境,在执行 ./lite_auth.py 时可能会报错。 若报错尝试用 python3 lite_auth.py 代替

4. 修改配置文件

下面给出几个关键配置,全部配置参考 配置说明

HTTP_LISTEN = '0.0.0.0:8300'

# 访问lite auth的站点地址,填ip或域名。
# 部署时需要使用nginx或apache监听此地址,并把请求转发到 HTTP_LISTEN
LITE_AUTH_URL = 'http://192.168.x.x:8080'

ADMIN_URL = 'admin/'

LDAP_LISTEN = '0.0.0.0:8389'
# ldap api的地址,ldap服务会请求这个地址。
# 其实就是LITE_AUTH_URL,不过建议写内网地址
LDAP_API_URL = 'http://127.0.0.1:8080'

# 通知backend,用于发通知给用户(具体说明参考 “配置”-“通知相关” )
NOTIFICATION_BACKEND={}

注解

NOTIFICATION_BACKEND 不是必须的,但强烈建议你配置一个backend。 很多有的接入LDAP的服务并不会返回LDAP的错误信息,导致用户登录时不知道是什么原因造成登录失败。

5. 运行

使用下面命令运行

./lite_auth.py start
# 你可以使用 ./lite_auth.py start --help 查看帮助

快速体验

如果只是为了快速体验,可以在配置中添加 DEBUG=True 并把 LITE_AUTH_URLLDAP_API_URL 修改为 HTTP_LISTEN 的地址,运行后直接访问。

6. 代理请求

默认的运行方式并不具备抗DOS攻击的能力,并且代理静态文件的能力一般。 因此需要使用nginx代理请求。下列给出nginx的配置样例

server {
    # 如果你修改了LITE_AUTH_URL,改为对应的值
    listen       8080;
    server_name  127.0.0.1 192.168.x.x;

    # 替换为你的路径
    root /your_path/liteAuth;

    location / {
        try_files $uri @proxy_to_app;
    }

    location @proxy_to_app {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
        # we don't want nginx trying to do something clever with
        # redirects, we set the Host: header above already.
        proxy_redirect off;
        # 如果你修改了HTTP_LISTEN,改为对应的值
        proxy_pass http://127.0.0.1:8300;
    }
}

7. 开始使用

访问 http://192.168.x.x:8080 初始化并使用。注意:初始化页面只有第一次使用时能进入

接入ldap参考: 接入liteAuth配置示例