# UKUI Biometric Authentication

Biometric authentication framework for the UKUI desktop environment. Supports fingerprint, iris, face recognition and other biometric identification methods.

## Components

| Component | Description |
|-----------|-------------|
| `bioauth` | Command-line biometric authentication tool |
| `bioctl` | Biometric authentication control tool |
| `pam-biometric` | PAM authentication module |
| `polkit-agent` | PolicyKit authentication agent with biometric support |
| `uniauth-backend` | Unified authentication backend service |

## Build Dependencies

```bash
sudo apt install cmake pkg-config \
    qt6-base-dev qt6-svg-dev qt6-tools-dev qt6-tools-dev-tools \
    libkf6windowsystem-dev libpolkit-qt6-1-dev \
    libglib2.0-dev libgsettings-qt6-dev \
    libopencv-dev libpam-dev libssl-dev \
    libkysdk-base-dev libkysdk-system-dev libkysdk-applications-dev \
    libukui-log4qt-dev libx11-dev
```

## Build & Install

```bash
mkdir build && cd build
cmake ..
make
sudo make install
```

## Usage

### bioctl — Switch Control

```bash
# Show the master biometric switch status
bioctl status

# Show the switch status for a specific application
bioctl status greeter|screensaver|polkit|sudo|su|login

# Enable/Disable the master biometric switch
bioctl enable
bioctl disable

# Enable/Disable biometric authentication for a specific application
bioctl enable greeter|screensaver|polkit|sudo|su|login
bioctl disable greeter|screensaver|polkit|sudo|su|login
```

### bioauth — Authentication Tool

```bash
# Authenticate using biometrics
bioauth --user <username> --device <device>
```

## Configuration

- `/etc/biometric-auth/ukui-biometric.conf` — Main configuration file
- `/usr/share/ukui-biometric/` — Resource directory

## License

This project is licensed under [GPL-3.0+](COPYING).
