Generic Low Overhead Message Exchange (GLOME)
This is not an officially supported Google product.
Generic Low Overhead Message Exchange (GLOME) is a protocol providing secure authentication and authorization for low dependency environments.
This repository consists of a number of components of the GLOME ecosystem.
Documentation:
Core libraries:
Binaries:
- glome-cli CLI utility for interacting with the core GLOME protocol
- glome-login Replacement of login(1) implementing GLOME Login protocol
In addition to the above components there are libraries planned for Java and Go as well as a turnkey server for self-hosted GLOME login.
Building
Building the GLOME library requires
- Compiler conforming to C99 (e.g. gcc, clang)
- Meson >=0.49.2
- OpenSSL headers >=1.1.1
- glib-2.0 (for glome-login as well as tests)
- libconfuse (for glome-login)
Instructions
GLOME is built using Meson. First, initialize the Meson build directory. You only have to do this once per Meson configuration.
$ meson build
NOTE: You can customize the installation target by passing the --prefix
flag.
Build the shared library libglome.so
and the command line utility glome
inside the build root ./build
.
$ ninja -C build
Now run the tests.
$ meson test -C build
Install both the binary and the library into the configured prefix (the default
prefix is /usr/local/
, which will require admin privileges).
$ meson install -C build