sql

package
v2.2.0-pre.0 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2023 License: Apache-2.0 Imports: 40 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrTransactionOpen   = errors.New("There is already a transaction in this context.")
	ErrNoTransactionOpen = errors.New("There is no transaction in this context.")
)

Functions

func SignatureHash

func SignatureHash(signature string) string

SignatureHash hashes the signature to prevent errors where the signature is longer than 128 characters (and thus doesn't fit into the pk).

Types

type Dependencies

type Dependencies interface {
	ClientHasher() fosite.Hasher
	KeyCipher() *aead.AESGCM
	FlowCipher() *aead.XChaCha20Poly1305
	contextx.Provider
	x.RegistryLogger
	x.TracingProvider
}

type OAuth2RequestSQL

type OAuth2RequestSQL struct {
	ID                string         `db:"signature"`
	NID               uuid.UUID      `db:"nid"`
	Request           string         `db:"request_id"`
	ConsentChallenge  sql.NullString `db:"challenge_id"`
	RequestedAt       time.Time      `db:"requested_at"`
	Client            string         `db:"client_id"`
	Scopes            string         `db:"scope"`
	GrantedScope      string         `db:"granted_scope"`
	RequestedAudience string         `db:"requested_audience"`
	GrantedAudience   string         `db:"granted_audience"`
	Form              string         `db:"form_data"`
	Subject           string         `db:"subject"`
	Active            bool           `db:"active"`
	Session           []byte         `db:"session_data"`
	Table             tableName      `db:"-"`
}

func (OAuth2RequestSQL) TableName

func (r OAuth2RequestSQL) TableName() string

type OldMigrationRecord

type OldMigrationRecord struct {
	ID        string    `db:"id"`
	AppliedAt time.Time `db:"applied_at"`
}

this type is copied from sql-migrate to remove the dependency

type Persister

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

func NewPersister

func NewPersister(ctx context.Context, c *pop.Connection, r Dependencies, config *config.DefaultProvider, l *logrusx.Logger) (*Persister, error)

func (*Persister) AcceptLogoutRequest

func (p *Persister) AcceptLogoutRequest(ctx context.Context, challenge string) (*flow.LogoutRequest, error)

func (*Persister) AddKey

func (p *Persister) AddKey(ctx context.Context, set string, key *jose.JSONWebKey) error

func (*Persister) AddKeySet

func (p *Persister) AddKeySet(ctx context.Context, set string, keys *jose.JSONWebKeySet) error

func (*Persister) Authenticate

func (p *Persister) Authenticate(ctx context.Context, id string, secret []byte) (_ *client.Client, err error)

func (*Persister) BeginTX

func (p *Persister) BeginTX(ctx context.Context) (_ context.Context, err error)

func (*Persister) ClientAssertionJWTValid

func (p *Persister) ClientAssertionJWTValid(ctx context.Context, jti string) (err error)

func (*Persister) Commit

func (p *Persister) Commit(ctx context.Context) (err error)

func (*Persister) ConfirmLoginSession

func (p *Persister) ConfirmLoginSession(ctx context.Context, session *flow.LoginSession, id string, authenticatedAt time.Time, subject string, remember bool) error

func (*Persister) Connection

func (p *Persister) Connection(ctx context.Context) *pop.Connection

func (*Persister) CountClients

func (p *Persister) CountClients(ctx context.Context) (n int, err error)

func (*Persister) CountGrants

func (p *Persister) CountGrants(ctx context.Context) (int, error)

func (*Persister) CountSubjectsGrantedConsentRequests

func (p *Persister) CountSubjectsGrantedConsentRequests(ctx context.Context, subject string) (int, error)

func (*Persister) CreateAccessTokenSession

func (p *Persister) CreateAccessTokenSession(ctx context.Context, signature string, requester fosite.Requester) error

func (*Persister) CreateAuthorizeCodeSession

func (p *Persister) CreateAuthorizeCodeSession(ctx context.Context, signature string, requester fosite.Requester) error

func (*Persister) CreateClient

func (p *Persister) CreateClient(ctx context.Context, c *client.Client) (err error)

func (*Persister) CreateConsentRequest

func (p *Persister) CreateConsentRequest(ctx context.Context, f *flow.Flow, req *flow.OAuth2ConsentRequest) error

CreateConsentRequest configures fields that are introduced or changed in the consent request. It doesn't touch fields that would be copied from the login request.

func (*Persister) CreateForcedObfuscatedLoginSession

func (p *Persister) CreateForcedObfuscatedLoginSession(ctx context.Context, session *consent.ForcedObfuscatedLoginSession) error

func (*Persister) CreateGrant

func (p *Persister) CreateGrant(ctx context.Context, g trust.Grant, publicKey jose.JSONWebKey) error

func (*Persister) CreateLoginRequest

func (p *Persister) CreateLoginRequest(ctx context.Context, req *flow.LoginRequest) (*flow.Flow, error)

func (*Persister) CreateLoginSession

func (p *Persister) CreateLoginSession(ctx context.Context, session *flow.LoginSession) error

func (*Persister) CreateLogoutRequest

func (p *Persister) CreateLogoutRequest(ctx context.Context, request *flow.LogoutRequest) error

func (*Persister) CreateOpenIDConnectSession

func (p *Persister) CreateOpenIDConnectSession(ctx context.Context, signature string, requester fosite.Requester) error

func (*Persister) CreatePKCERequestSession

func (p *Persister) CreatePKCERequestSession(ctx context.Context, signature string, requester fosite.Requester) error

func (*Persister) CreateRefreshTokenSession

func (p *Persister) CreateRefreshTokenSession(ctx context.Context, signature string, requester fosite.Requester) error

func (*Persister) CreateWithNetwork

func (p *Persister) CreateWithNetwork(ctx context.Context, v interface{}) error

func (*Persister) DeleteAccessTokenSession

func (p *Persister) DeleteAccessTokenSession(ctx context.Context, signature string) error

func (*Persister) DeleteAccessTokens

func (p *Persister) DeleteAccessTokens(ctx context.Context, clientID string) error

func (*Persister) DeleteClient

func (p *Persister) DeleteClient(ctx context.Context, id string) (err error)

func (*Persister) DeleteGrant

func (p *Persister) DeleteGrant(ctx context.Context, id string) error

func (*Persister) DeleteKey

func (p *Persister) DeleteKey(ctx context.Context, set, kid string) error

func (*Persister) DeleteKeySet

func (p *Persister) DeleteKeySet(ctx context.Context, set string) error

func (*Persister) DeleteLoginSession

func (p *Persister) DeleteLoginSession(ctx context.Context, id string) error

func (*Persister) DeleteOpenIDConnectSession

func (p *Persister) DeleteOpenIDConnectSession(ctx context.Context, signature string) error

func (*Persister) DeletePKCERequestSession

func (p *Persister) DeletePKCERequestSession(ctx context.Context, signature string) error

func (*Persister) DeleteRefreshTokenSession

func (p *Persister) DeleteRefreshTokenSession(ctx context.Context, signature string) error

func (*Persister) DetermineNetwork

func (p *Persister) DetermineNetwork(ctx context.Context) (*networkx.Network, error)

func (*Persister) FindGrantedAndRememberedConsentRequests

func (p *Persister) FindGrantedAndRememberedConsentRequests(ctx context.Context, client, subject string) (rs []flow.AcceptOAuth2ConsentRequest, err error)

func (*Persister) FindSubjectsGrantedConsentRequests

func (p *Persister) FindSubjectsGrantedConsentRequests(ctx context.Context, subject string, limit, offset int) ([]flow.AcceptOAuth2ConsentRequest, error)

func (*Persister) FindSubjectsSessionGrantedConsentRequests

func (p *Persister) FindSubjectsSessionGrantedConsentRequests(ctx context.Context, subject, sid string, limit, offset int) ([]flow.AcceptOAuth2ConsentRequest, error)

func (*Persister) FlushInactiveAccessTokens

func (p *Persister) FlushInactiveAccessTokens(ctx context.Context, notAfter time.Time, limit int, batchSize int) error

func (*Persister) FlushInactiveGrants

func (p *Persister) FlushInactiveGrants(ctx context.Context, notAfter time.Time, limit int, batchSize int) error

func (*Persister) FlushInactiveLoginConsentRequests

func (p *Persister) FlushInactiveLoginConsentRequests(ctx context.Context, notAfter time.Time, limit int, batchSize int) error

func (*Persister) FlushInactiveRefreshTokens

func (p *Persister) FlushInactiveRefreshTokens(ctx context.Context, notAfter time.Time, limit int, batchSize int) error

func (*Persister) GenerateAndPersistKeySet

func (p *Persister) GenerateAndPersistKeySet(ctx context.Context, set, kid, alg, use string) (*jose.JSONWebKeySet, error)

func (*Persister) GetAccessTokenSession

func (p *Persister) GetAccessTokenSession(ctx context.Context, signature string, session fosite.Session) (request fosite.Requester, err error)

func (*Persister) GetAuthorizeCodeSession

func (p *Persister) GetAuthorizeCodeSession(ctx context.Context, signature string, session fosite.Session) (request fosite.Requester, err error)

func (*Persister) GetClient

func (p *Persister) GetClient(ctx context.Context, id string) (fosite.Client, error)

func (*Persister) GetClientAssertionJWT

func (p *Persister) GetClientAssertionJWT(ctx context.Context, j string) (_ *oauth2.BlacklistedJTI, err error)

func (*Persister) GetClients

func (p *Persister) GetClients(ctx context.Context, filters client.Filter) (_ []client.Client, err error)

func (*Persister) GetConcreteClient

func (p *Persister) GetConcreteClient(ctx context.Context, id string) (c *client.Client, err error)

func (*Persister) GetConcreteGrant

func (p *Persister) GetConcreteGrant(ctx context.Context, id string) (trust.Grant, error)

func (*Persister) GetConsentRequest

func (p *Persister) GetConsentRequest(ctx context.Context, challenge string) (*flow.OAuth2ConsentRequest, error)

func (*Persister) GetFlow

func (p *Persister) GetFlow(ctx context.Context, loginChallenge string) (*flow.Flow, error)

func (*Persister) GetFlowByConsentChallenge

func (p *Persister) GetFlowByConsentChallenge(ctx context.Context, challenge string) (*flow.Flow, error)

func (*Persister) GetForcedObfuscatedLoginSession

func (p *Persister) GetForcedObfuscatedLoginSession(ctx context.Context, client, obfuscated string) (*consent.ForcedObfuscatedLoginSession, error)

func (*Persister) GetGrants

func (p *Persister) GetGrants(ctx context.Context, limit, offset int, optionalIssuer string) ([]trust.Grant, error)

func (*Persister) GetKey

func (p *Persister) GetKey(ctx context.Context, set, kid string) (*jose.JSONWebKeySet, error)

func (*Persister) GetKeySet

func (p *Persister) GetKeySet(ctx context.Context, set string) (keys *jose.JSONWebKeySet, err error)

func (*Persister) GetLoginRequest

func (p *Persister) GetLoginRequest(ctx context.Context, loginChallenge string) (*flow.LoginRequest, error)

func (*Persister) GetLogoutRequest

func (p *Persister) GetLogoutRequest(ctx context.Context, challenge string) (*flow.LogoutRequest, error)

func (*Persister) GetOpenIDConnectSession

func (p *Persister) GetOpenIDConnectSession(ctx context.Context, signature string, requester fosite.Requester) (_ fosite.Requester, err error)

func (*Persister) GetPKCERequestSession

func (p *Persister) GetPKCERequestSession(ctx context.Context, signature string, session fosite.Session) (_ fosite.Requester, err error)

func (*Persister) GetPublicKey

func (p *Persister) GetPublicKey(ctx context.Context, issuer string, subject string, keyId string) (*jose.JSONWebKey, error)

func (*Persister) GetPublicKeyScopes

func (p *Persister) GetPublicKeyScopes(ctx context.Context, issuer string, subject string, keyId string) ([]string, error)

func (*Persister) GetPublicKeys

func (p *Persister) GetPublicKeys(ctx context.Context, issuer string, subject string) (*jose.JSONWebKeySet, error)

func (*Persister) GetRefreshTokenSession

func (p *Persister) GetRefreshTokenSession(ctx context.Context, signature string, session fosite.Session) (request fosite.Requester, err error)

func (*Persister) GetRememberedLoginSession

func (p *Persister) GetRememberedLoginSession(ctx context.Context, loginSessionFromCookie *flow.LoginSession, id string) (*flow.LoginSession, error)

func (*Persister) HandleConsentRequest

func (*Persister) HandleLoginRequest

func (p *Persister) HandleLoginRequest(ctx context.Context, f *flow.Flow, challenge string, r *flow.HandledLoginRequest) (lr *flow.LoginRequest, err error)

func (*Persister) InvalidateAuthorizeCodeSession

func (p *Persister) InvalidateAuthorizeCodeSession(ctx context.Context, signature string) (err error)

func (*Persister) IsJWTUsed

func (p *Persister) IsJWTUsed(ctx context.Context, jti string) (bool, error)

func (*Persister) ListUserAuthenticatedClientsWithBackChannelLogout

func (p *Persister) ListUserAuthenticatedClientsWithBackChannelLogout(ctx context.Context, subject, sid string) ([]client.Client, error)

func (*Persister) ListUserAuthenticatedClientsWithFrontChannelLogout

func (p *Persister) ListUserAuthenticatedClientsWithFrontChannelLogout(ctx context.Context, subject, sid string) ([]client.Client, error)

func (*Persister) MarkJWTUsedForTime

func (p *Persister) MarkJWTUsedForTime(ctx context.Context, jti string, exp time.Time) error

func (*Persister) MigrateDown

func (p *Persister) MigrateDown(ctx context.Context, steps int) error

func (*Persister) MigrateUp

func (p *Persister) MigrateUp(ctx context.Context) error

func (*Persister) MigrateUpTo

func (p *Persister) MigrateUpTo(ctx context.Context, steps int) (int, error)

func (*Persister) MigrationStatus

func (p *Persister) MigrationStatus(ctx context.Context) (popx.MigrationStatuses, error)

func (*Persister) NetworkID

func (p *Persister) NetworkID(ctx context.Context) uuid.UUID

func (*Persister) Ping

func (p *Persister) Ping() error

func (*Persister) PrepareMigration

func (p *Persister) PrepareMigration(_ context.Context) error

func (*Persister) QueryWithNetwork

func (p *Persister) QueryWithNetwork(ctx context.Context) *pop.Query

func (*Persister) RejectLogoutRequest

func (p *Persister) RejectLogoutRequest(ctx context.Context, challenge string) error

func (*Persister) RevokeAccessToken

func (p *Persister) RevokeAccessToken(ctx context.Context, id string) error

func (*Persister) RevokeRefreshToken

func (p *Persister) RevokeRefreshToken(ctx context.Context, id string) error

func (*Persister) RevokeRefreshTokenMaybeGracePeriod

func (p *Persister) RevokeRefreshTokenMaybeGracePeriod(ctx context.Context, id string, _ string) error

func (*Persister) RevokeSubjectClientConsentSession

func (p *Persister) RevokeSubjectClientConsentSession(ctx context.Context, user, client string) error

func (*Persister) RevokeSubjectConsentSession

func (p *Persister) RevokeSubjectConsentSession(ctx context.Context, user string) error

func (*Persister) RevokeSubjectLoginSession

func (p *Persister) RevokeSubjectLoginSession(ctx context.Context, subject string) error

func (*Persister) Rollback

func (p *Persister) Rollback(ctx context.Context) (err error)

func (*Persister) SetClientAssertionJWT

func (p *Persister) SetClientAssertionJWT(ctx context.Context, jti string, exp time.Time) (err error)

func (*Persister) SetClientAssertionJWTRaw

func (p *Persister) SetClientAssertionJWTRaw(ctx context.Context, jti *oauth2.BlacklistedJTI) (err error)

func (*Persister) UpdateClient

func (p *Persister) UpdateClient(ctx context.Context, cl *client.Client) (err error)

func (*Persister) UpdateKey

func (p *Persister) UpdateKey(ctx context.Context, set string, key *jose.JSONWebKey) error

UpdateKey updates or creates the key.

func (*Persister) UpdateKeySet

func (p *Persister) UpdateKeySet(ctx context.Context, set string, keySet *jose.JSONWebKeySet) error

UpdateKeySet updates or creates the key set.

func (*Persister) UpdateWithNetwork

func (p *Persister) UpdateWithNetwork(ctx context.Context, v interface{}) (int64, error)

func (*Persister) VerifyAndInvalidateConsentRequest

func (p *Persister) VerifyAndInvalidateConsentRequest(ctx context.Context, f *flow.Flow, verifier string) (*flow.AcceptOAuth2ConsentRequest, error)

func (*Persister) VerifyAndInvalidateLoginRequest

func (p *Persister) VerifyAndInvalidateLoginRequest(ctx context.Context, f *flow.Flow, verifier string) (*flow.HandledLoginRequest, error)

func (*Persister) VerifyAndInvalidateLogoutRequest

func (p *Persister) VerifyAndInvalidateLogoutRequest(ctx context.Context, verifier string) (*flow.LogoutRequest, error)

func (Persister) WithFallbackNetworkID

func (p Persister) WithFallbackNetworkID(nid uuid.UUID) persistence.Persister

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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