Files
astal/docs/libraries/auth.md
2024-09-11 13:30:51 +00:00

1.7 KiB

Auth

Library and CLI tool for authentication using pam.

Installation

  1. install dependencies

:::code-group

sudo pacman -Syu meson pam gobject-introspection
sudo dnf install meson pam-devel gobject-introspection-devel
# Not yet documented

:::

::: warning On NixOS you have to add astal-auth to security.pam. ::: code-group

{
  security.pam.services.astal-auth = {}
}

:::

  1. clone repo
git clone https://github.com/aylur/astal.git
cd astal/lib/auth
  1. install
meson setup build
meson install -C build

:::tip Most distros recommend manual installs in /usr/local, which is what meson defaults to. If you want to install to /usr instead which most package managers do, set the prefix option:

meson setup --prefix /usr build

:::

Usage

You can browse the Auth reference.

CLI

astal-auth --password my-password

Library

:::code-group

import Auth from "gi://AstalAuth";
import Gio from "gi://Gio";

Gio._promisify(Auth.Pam, "authenticate");

await Auth.Pam.authenticate("password")
    .then(_ => print("authentication sucessful"))
    .catch(logError);
# Not yet documented
-- Not yet documented
// Not yet documented

:::