/glewlwyd

Single Sign On server, OAuth2, Openid Connect, multiple factor authentication with, HOTP/TOTP, FIDO2, TLS Certificates, etc. extensible via plugins

Primary LanguageCOtherNOASSERTION

Glewlwyd SSO server

C/C++ CI CodeQL CII Best Practices

Single-Sign-On (SSO) server with multiple factor authentication for OAuth2 and OpenID Connect authentication

Glewlwyd 2.6.1 is available. Feel free to install it, test it, use it, and send feedback if you feel like it!

Go to the online demo to test Glewlwyd's features

logged in

Process supported:

User authentication via multiple factors:

Users and clients can be storage backends:

User registration

New users can register a new account with the possibility to confirm their e-mail address or not. During the registration process, the new user may be expected to register their passwords, as well as other authentication factors:

  • One-time password (TOTP/HOTP)
  • WebAuthn (Yubikey, Android devices)
  • TLS Certificate
  • External OAuth2/OIDC providers

Existing users can update their e-mail by sending a confirmation link to the new e-mail.

Lost credentials

Existing users can reset their credentials if their password or authentication schemes are lost or unavailable. Credentials can be reset by different factors:

  • A link sent to the user's e-mail
  • A one-time use recovery code

See the register/update e-mail/reset credentials documentation for more information on the registration, update e-mail or reset credentials features.

Based on a plugin architecture to make it easier to add or update storage backends, authentication schemes or process.

Passwordless authentication

Adding new authentication schemes or backend storage for users and clients is possible via the plugin architecture.

Architecture and performance

The backend API server is fully written in C and uses a small amount of resources.

Its plugin architecture makes it easy to add new modules or plugins, or modify existing ones with less risks to have unmaintainable code.

Installation

The full installation documentation is available in the Install documentation.

Docker

A docker image is available for tests on localhost. To test the image, run the following command:

$ docker run --rm -it -p 4593:4593 babelouest/glewlwyd:latest

And open the address http://localhost:4593/ on your browser.

  • User: admin
  • Password: password

This Docker image can be used for tests or for real use by changing the configuration files. More information in the install documentation.

Getting started

The Getting started documentation will help administrators configure Glewlwyd's modules and authentication schemes.

User documentation

The user documentation will help Glewlwyd's users manage their profile and log in to Glewlwyd.

Core API

The full core REST API documentation is available in the API documentation

Plugins architecture

You can update the existing plugins or add new ones depending on your needs, check out the documentation available for each type of plugin:

Screenshots

Go to the Screenshots folder to get a visual idea of Glewlwyd.

Questions, problems or feature requests

You can open an issue, a pull request or send me an e-mail. Any help is much appreciated!

You can visit the IRC channel #glewlwyd on the Libera.​Chat network.