http-auth-server

command module
v0.0.0-...-bbe481d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 7, 2024 License: AGPL-3.0 Imports: 4 Imported by: 0

README

http-auth-server

An HTTP Auth Server written in Go, designed to seamlessly integrate with the Nginx Mail Proxy module, providing authentication functionality for accessing mail services. With this server you can ensure only authorized users can interact with your mail server.

Right now this entire project is tailored to my own use case. That means the server supports PostgreSQL backends only and mail account passwords must be hashed by argon2id.

This has some major advantages:

  • easy maintainability (about 400 lines of code according to cloc)
  • overall higher security by having less external dependencies but also less code that can break or leak information
  • better performance by using a specialized postgres library that allows connection pooling as compared to the much more simple database/sql library on its own

Anyways, feel free to open an issue with a feature request if you're missing something and we'll discuss it in further detail.

Features

  • Support for PostgreSQL databases that contain the user accounts
  • Support for the argon2id hash function
  • Logging of invalid authentication attempts to implement easy rate limiting with tools like Fail2Ban
  • (signed) container images to easily deploy and update the auth server

HOWTOs

Take a look at the wiki for instructions on deploying.

Or start at the ansible project template to benefit from a fully integrated setup.

License

This software is licensed under the GNU AGPLv3.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package internal implements the HTTP authentication server that is designed to interact with the NGINX Mail Proxy module.
Package internal implements the HTTP authentication server that is designed to interact with the NGINX Mail Proxy module.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL