apikey

package
v2.28.2 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2025 License: AGPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Generate

Generate generates an API key, returning the key as a string as well as the database representation. It is the responsibility of the caller to insert it into the database.

func GenerateSecret added in v2.28.0

func GenerateSecret(length int) (secret string, hashed []byte, err error)

func HashSecret added in v2.28.0

func HashSecret(secret string) []byte

HashSecret is the single function used to hash API key secrets. Use this to ensure a consistent hashing algorithm.

func ValidateHash added in v2.28.0

func ValidateHash(hashedSecret []byte, secret string) bool

ValidateHash compares a secret against an expected hashed secret.

Types

type CreateParams

type CreateParams struct {
	UserID    uuid.UUID
	LoginType database.LoginType
	// DefaultLifetime is configured in DeploymentValues.
	// It is used if both ExpiresAt and LifetimeSeconds are not set.
	DefaultLifetime time.Duration

	// Optional.
	ExpiresAt       time.Time
	LifetimeSeconds int64

	// Scope is legacy single-scope input kept for backward compatibility.
	//
	// Deprecated: use Scopes instead.
	Scope database.APIKeyScope
	// Scopes is the full list of scopes to attach to the key.
	Scopes     database.APIKeyScopes
	TokenName  string
	RemoteAddr string
	// AllowList is an optional, normalized allow-list
	// of resource type and uuid entries. If empty, defaults to wildcard.
	AllowList database.AllowList
}

Jump to

Keyboard shortcuts

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