authorizationserver

package
v0.0.0-...-1fabf49 Latest Latest
Warning

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

Go to latest
Published: Mar 31, 2023 License: AGPL-3.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AuthEndpointHtml

func AuthEndpointHtml(gctx *gin.Context)

func AuthEndpointJson

func AuthEndpointJson(gctx *gin.Context)

func InitOAuth2

func InitOAuth2()

func IntrospectionEndpoint

func IntrospectionEndpoint(gctx *gin.Context)

func RevokeEndpoint

func RevokeEndpoint(gctx *gin.Context)

func TokenEndpoint

func TokenEndpoint(gctx *gin.Context)

Types

type DatabaseStore

type DatabaseStore struct {
	Clients         map[string]fosite.Client
	AuthorizeCodes  map[string]StoreAuthorizeCode
	IDSessions      map[string]fosite.Requester
	AccessTokens    map[string]fosite.Requester
	RefreshTokens   map[string]StoreRefreshToken
	PKCES           map[string]fosite.Requester
	Users           map[string]DatabaseUserRelation
	BlacklistedJTIs map[string]time.Time
	// In-memory request ID to token signatures
	AccessTokenRequestIDs  map[string]string
	RefreshTokenRequestIDs map[string]string
	// Public keys to check signature in auth grant jwt assertion.
	IssuerPublicKeys map[string]IssuerPublicKeys
	// contains filtered or unexported fields
}

func NewDatabaseStore

func NewDatabaseStore() *DatabaseStore

func (*DatabaseStore) Authenticate

func (s *DatabaseStore) Authenticate(_ context.Context, name string, secret string) error

func (*DatabaseStore) ClientAssertionJWTValid

func (s *DatabaseStore) ClientAssertionJWTValid(_ context.Context, jti string) error

func (*DatabaseStore) CreateAccessTokenSession

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

func (*DatabaseStore) CreateAuthorizeCodeSession

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

func (*DatabaseStore) CreateOpenIDConnectSession

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

func (*DatabaseStore) CreatePKCERequestSession

func (s *DatabaseStore) CreatePKCERequestSession(_ context.Context, code string, req fosite.Requester) error

func (*DatabaseStore) CreateRefreshTokenSession

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

func (*DatabaseStore) DeleteAccessTokenSession

func (s *DatabaseStore) DeleteAccessTokenSession(_ context.Context, signature string) error

func (*DatabaseStore) DeleteOpenIDConnectSession

func (s *DatabaseStore) DeleteOpenIDConnectSession(_ context.Context, authorizeCode string) error

DeleteOpenIDConnectSession is not really called from anywhere and it is deprecated.

func (*DatabaseStore) DeletePKCERequestSession

func (s *DatabaseStore) DeletePKCERequestSession(_ context.Context, code string) error

func (*DatabaseStore) DeleteRefreshTokenSession

func (s *DatabaseStore) DeleteRefreshTokenSession(_ context.Context, signature string) error

func (*DatabaseStore) GetAccessTokenSession

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

func (*DatabaseStore) GetAuthorizeCodeSession

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

func (*DatabaseStore) GetClient

func (s *DatabaseStore) GetClient(_ context.Context, id string) (fosite.Client, error)

func (*DatabaseStore) GetOpenIDConnectSession

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

func (*DatabaseStore) GetPKCERequestSession

func (s *DatabaseStore) GetPKCERequestSession(_ context.Context, code string, _ fosite.Session) (fosite.Requester, error)

func (*DatabaseStore) GetPublicKey

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

func (*DatabaseStore) GetPublicKeyScopes

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

func (*DatabaseStore) GetPublicKeys

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

func (*DatabaseStore) GetRefreshTokenSession

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

func (*DatabaseStore) InvalidateAuthorizeCodeSession

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

func (*DatabaseStore) IsJWTUsed

func (s *DatabaseStore) IsJWTUsed(ctx context.Context, jti string) (bool, error)

func (*DatabaseStore) MarkJWTUsedForTime

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

func (*DatabaseStore) RevokeAccessToken

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

func (*DatabaseStore) RevokeRefreshToken

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

func (*DatabaseStore) RevokeRefreshTokenMaybeGracePeriod

func (s *DatabaseStore) RevokeRefreshTokenMaybeGracePeriod(ctx context.Context, requestID string, signature string) error

func (*DatabaseStore) SetClientAssertionJWT

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

type DatabaseUserRelation

type DatabaseUserRelation struct {
	Username string
	Password string
}

type IssuerPublicKeys

type IssuerPublicKeys struct {
	Issuer    string
	KeysBySub map[string]SubjectPublicKeys
}

type PublicKeyScopes

type PublicKeyScopes struct {
	Key    *jose.JSONWebKey
	Scopes []string
}

type StoreAuthorizeCode

type StoreAuthorizeCode struct {
	fosite.Requester
	// contains filtered or unexported fields
}

type StoreRefreshToken

type StoreRefreshToken struct {
	fosite.Requester
	// contains filtered or unexported fields
}

type SubjectPublicKeys

type SubjectPublicKeys struct {
	Subject string
	Keys    map[string]PublicKeyScopes
}

Jump to

Keyboard shortcuts

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