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 buildNOTE: 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 buildNow run the tests.
$ meson test -C buildInstall 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