Skip to content

valdemirsimon/fiber-key-auth

 
 

Repository files navigation


fiber-key-auth

Secure your fiber endpoints using API keys.
Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. License
  5. Contact

About The Project

On deployment inject API keys authorized to use your service. Every call to a private endpoint of your service has to include a header['x-api-key'] attribute that is validated against the API keys (starting with: API_KEY_) in your environment. If it is present, a request is authorized. If it is not fiber returns 401 Unauthorized. Use this either as a middleware the usage.

Built With

Getting Started

Installation

go get github.com/iwpnd/fiber-key-auth

Usage

As Middleware:

package main

import (
	"os"

	"github.com/iwpnd/fiber-key-auth"
	"github.com/gofiber/fiber/v2"
	)

os.Setenv("API_KEY_TEST", "valid")

func main() {
    app := fiber.New()

    app.Use(keyauth.New())

    app.Get("/", func(c *fiber.Ctx) error {
        return c.SendString("Hello, World 👋!")
    })

    app.Listen(":3000")
}

Now try to access your / route.

curl localhost:3000

>> "no api key"

curl localhost:3000 -H "x-api-key: invalid"

>> "invalid api key"

curl localhost:3000 -H "x-api-key: valid"

>> Hello, World 👋!

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Benjamin Ramser - @imwithpanda - [email protected]
Project Link: https://github.com/iwpnd/fiber-key-auth

About

fiber api key authentication middleware

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%