/glewlwyd

OAuth2 authentication server providing Json Web Tokens

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Glewlwyd Oauth 2 authentication server

Oauth 2 Server providing JSON Web Tokens for identification.

Lightweight, fast and easy to install on small systems. Requires a MySql or SQLite3 database. Handles LDAP or database for users backend.

The API backend is fully written in language C, it's based on Ulfius HTTP framework, Hoel database framework and Libjwt JSON Web Tokens library.

user list screenshot

Installation

Please read the docs/INSTALL.md file for more information.

Screenshots

Some screenshots examples:

User details page

User update

Clients list page

Client update

Scopes list

Authorization types

Current user

All users can also update their own profile with the dedicated page profile.html.

User profile page

Update user profile password

The pages login.html, grant.html and reset.html are tiny pages used to login, logout, grant scope access or reset a password.

login

reset

If a user uses the reset password functionality, he or she will receive the content of the file reset.eml. The email uses two patterns that will be replaced by values: $USERNAME for the username and $URL for the url to the reset.html page.

$URL must be set in the configuration file properly so the emails will lead to the correct page.

More screenshots of the front-end application are available in the screenshot folder.

Projects using Glewlwyd as authentication server

Glewlwyd front-end applications uses glewlwyd to authenticate of course, but other projects are also using it to delegate the authentication and focus on their goals:

  • Taliesin, an audio streaming server

  • Angharad, a house automation server to connect and control IOT devices using different protocols (Zwave, Taulas, etc.)

  • Hutch, an online password manager

Questions, problems or feature requests

You can open an issue in github or send me an e-mail. Any help is much appreciated!