vvidic / glome

Generic Low Overhead Message Exchange (GLOME) is a protocol providing secure authentication and authorization for low dependency environments.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Generic Low Overhead Message Exchange (GLOME) is a protocol providing secure authentication and authorization for low dependency environments.

License:Apache License 2.0


Languages

Language:C 35.5%Language:Go 28.3%Language:Python 20.4%Language:Java 12.2%Language:Meson 2.6%Language:Shell 1.1%