oauthstore

package
v0.31.1 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package oauthstore provides a driver-agnostic fosite storage backed by database/sql. It works on PostgreSQL, MySQL/MariaDB and SQLite (Turso/ libSQL): queries are written with $n placeholders and translated per dialect, timestamps are stored as UTC RFC3339 text (lexicographically ordered) and list columns as JSON text, so no driver-specific types leak in.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Store

type Store struct {
	// contains filtered or unexported fields
}

Store implements the fosite storage interfaces over database/sql.

func NewStore

func NewStore(database *sql.DB, driver string) *Store

NewStore builds a store for the given YAML driver ("postgres", "mysql", "turso", "turso-serverless", "libsql", ...).

func (*Store) Authenticate

func (s *Store) Authenticate(ctx context.Context, clientID, secret string) (string, error)

func (*Store) ClientAssertionJWTValid

func (s *Store) ClientAssertionJWTValid(ctx context.Context, jti string) error

func (*Store) CreateAccessTokenSession

func (s *Store) CreateAccessTokenSession(ctx context.Context, signature string, req fosite.Requester) error

func (*Store) CreateAuthorizeCodeSession

func (s *Store) CreateAuthorizeCodeSession(ctx context.Context, code string, req fosite.Requester) error

func (*Store) CreateOpenIDConnectSession

func (s *Store) CreateOpenIDConnectSession(ctx context.Context, authorizeCode string, requester fosite.Requester) error

func (*Store) CreatePKCERequestSession

func (s *Store) CreatePKCERequestSession(ctx context.Context, signature string, req fosite.Requester) error

func (*Store) CreateRefreshTokenSession

func (s *Store) CreateRefreshTokenSession(ctx context.Context, signature, _ string, req fosite.Requester) error

func (*Store) DeleteAccessTokenSession

func (s *Store) DeleteAccessTokenSession(ctx context.Context, signature string) error

func (*Store) DeleteOpenIDConnectSession

func (s *Store) DeleteOpenIDConnectSession(ctx context.Context, authorizeCode string) error

func (*Store) DeletePKCERequestSession

func (s *Store) DeletePKCERequestSession(ctx context.Context, signature string) error

func (*Store) DeleteRefreshTokenSession

func (s *Store) DeleteRefreshTokenSession(ctx context.Context, signature string) error

func (*Store) GetAccessTokenSession

func (s *Store) GetAccessTokenSession(ctx context.Context, signature string, _ fosite.Session) (fosite.Requester, error)

func (*Store) GetAuthorizeCodeSession

func (s *Store) GetAuthorizeCodeSession(ctx context.Context, code string, _ fosite.Session) (fosite.Requester, error)

func (*Store) GetClient

func (s *Store) GetClient(ctx context.Context, id string) (fosite.Client, error)

func (*Store) GetOpenIDConnectSession

func (s *Store) GetOpenIDConnectSession(ctx context.Context, authorizeCode string, _ fosite.Requester) (fosite.Requester, error)

func (*Store) GetPKCERequestSession

func (s *Store) GetPKCERequestSession(ctx context.Context, signature string, _ fosite.Session) (fosite.Requester, error)

func (*Store) GetPublicKey

func (s *Store) GetPublicKey(context.Context, string, string, string) (*jose.JSONWebKey, error)

func (*Store) GetPublicKeyScopes

func (s *Store) GetPublicKeyScopes(context.Context, string, string, string) ([]string, error)

func (*Store) GetPublicKeys

func (s *Store) GetPublicKeys(context.Context, string, string) (*jose.JSONWebKeySet, error)

func (*Store) GetRefreshTokenSession

func (s *Store) GetRefreshTokenSession(ctx context.Context, signature string, _ fosite.Session) (fosite.Requester, error)

func (*Store) InvalidateAuthorizeCodeSession

func (s *Store) InvalidateAuthorizeCodeSession(ctx context.Context, code string) error

func (*Store) IsJWTUsed

func (s *Store) IsJWTUsed(context.Context, string) (bool, error)

func (*Store) MarkJWTUsedForTime

func (s *Store) MarkJWTUsedForTime(context.Context, string, time.Time) error

func (*Store) RevokeAccessToken

func (s *Store) RevokeAccessToken(ctx context.Context, requestID string) error

func (*Store) RevokeRefreshToken

func (s *Store) RevokeRefreshToken(ctx context.Context, requestID string) error

func (*Store) RotateRefreshToken

func (s *Store) RotateRefreshToken(ctx context.Context, requestID, refreshTokenSignature string) error

func (*Store) SetClientAssertionJWT

func (s *Store) SetClientAssertionJWT(ctx context.Context, jti string, exp time.Time) error

type StringSlice

type StringSlice []string

StringSlice stores a []string as a JSON text column so the same schema works on every driver.

func (*StringSlice) Scan

func (s *StringSlice) Scan(value any) error

func (StringSlice) Value

func (s StringSlice) Value() (driver.Value, error)

Jump to

Keyboard shortcuts

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