mongo

package
v4.5.4 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewTransactionHandler

func NewTransactionHandler(client *mongo.Client, tcfg *TokenConfig) *transactionHandler

func NewTransactionWorker

func NewTransactionWorker(t *TokenConfig, cl *mongo.Client) *transactionWorker

Types

type ClientConfig

type ClientConfig struct {
	// store clients data collection name(The default is oauth2_clients)
	ClientsCName string
	// contains filtered or unexported fields
}

ClientConfig client configuration parameters

func NewDefaultClientConfig

func NewDefaultClientConfig(strCfgs *StoreConfig) *ClientConfig

NewDefaultClientConfig create a default client configuration

type ClientStore

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

ClientStore MongoDB storage for OAuth 2.0

func NewClientStore

func NewClientStore(cfg *Config, scfgs ...*StoreConfig) *ClientStore

NewClientStore create a client store instance based on mongodb

func NewClientStoreWithSession

func NewClientStoreWithSession(client *mongo.Client, cfg *Config, scfgs ...*StoreConfig) *ClientStore

NewClientStoreWithSession create a client store instance based on mongodb

func (*ClientStore) Close

func (cs *ClientStore) Close()

Close close the mongo session

func (*ClientStore) Create

func (cs *ClientStore) Create(info oauth2.ClientInfo) (err error)

Create create client information

func (*ClientStore) GetByID

func (cs *ClientStore) GetByID(ctx context.Context, id string) (info oauth2.ClientInfo, err error)

GetByID according to the ID for the client information

func (*ClientStore) RemoveByID

func (cs *ClientStore) RemoveByID(id string) (err error)

RemoveByID use the client id to delete the client information

type Config

type Config struct {
	URL          string
	DB           string
	Username     string
	Password     string
	Service      string
	IsReplicaSet bool
}

Config mongodb configuration parameters

func NewConfigNonReplicaSet

func NewConfigNonReplicaSet(url, db, username, password, service string) *Config

NewConfigNonReplicaSet create mongodb configuration for a non-replicaSet

func NewConfigReplicaSet

func NewConfigReplicaSet(url, db string) *Config

NewConfigReplicaSet create mongodb configuration for a ReplicaSet

type StoreConfig

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

StoreConfig hold configs common to all Configs(ClientConfig, TokenConfig)

func NewDefaultStoreConfig

func NewDefaultStoreConfig(db, service string, isReplicasSet bool) *StoreConfig

func NewStoreConfig

func NewStoreConfig(ctout, rtout int) *StoreConfig

type TokenConfig

type TokenConfig struct {
	// store txn collection name(The default is oauth2)
	TxnCName string
	// store token based data collection name(The default is oauth2_basic)
	BasicCName string
	// store access token data collection name(The default is oauth2_access)
	AccessCName string
	// store refresh token data collection name(The default is oauth2_refresh)
	RefreshCName string
	// contains filtered or unexported fields
}

TokenConfig token configuration parameters

func NewDefaultTokenConfig

func NewDefaultTokenConfig(strConfig *StoreConfig) *TokenConfig

NewDefaultTokenConfig create a default token configuration

type TokenStore

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

TokenStore MongoDB storage for OAuth 2.0

func NewTokenStore

func NewTokenStore(cfg *Config, scfgs ...*StoreConfig) (store *TokenStore)

NewTokenStore create a token store instance based on mongodb

func NewTokenStoreWithSession

func NewTokenStoreWithSession(client *mongo.Client, cfg *Config, scfgs ...*StoreConfig) (store *TokenStore)

NewTokenStoreWithSession create a token store instance based on mongodb

func (*TokenStore) Close

func (ts *TokenStore) Close()

Close close the mongo session

func (*TokenStore) Create

func (ts *TokenStore) Create(ctx context.Context, info oauth2.TokenInfo) (err error)

Create create and store the new token information

func (*TokenStore) GetByAccess

func (ts *TokenStore) GetByAccess(ctx context.Context, access string) (ti oauth2.TokenInfo, err error)

GetByAccess use the access token for token information data

func (*TokenStore) GetByCode

func (ts *TokenStore) GetByCode(ctx context.Context, code string) (ti oauth2.TokenInfo, err error)

GetByCode use the authorization code for token information data

func (*TokenStore) GetByRefresh

func (ts *TokenStore) GetByRefresh(ctx context.Context, refresh string) (ti oauth2.TokenInfo, err error)

GetByRefresh use the refresh token for token information data

func (*TokenStore) RemoveByAccess

func (ts *TokenStore) RemoveByAccess(ctx context.Context, access string) (err error)

RemoveByAccess use the access token to delete the token information

func (*TokenStore) RemoveByCode

func (ts *TokenStore) RemoveByCode(ctx context.Context, code string) (err error)

RemoveByCode use the authorization code to delete the token information

func (*TokenStore) RemoveByRefresh

func (ts *TokenStore) RemoveByRefresh(ctx context.Context, refresh string) (err error)

RemoveByRefresh use the refresh token to delete the token information

type TransactionWorker

type TransactionWorker interface {
	// contains filtered or unexported methods
}

Jump to

Keyboard shortcuts

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