Documentation ¶
Index ¶
- type BuntDBStorage
- func (s *BuntDBStorage) AccessTokenByID(ctx context.Context, req *authProto.AccessTokenByIDRequest) (*authProto.AccessTokenByIDResponse, error)
- func (s *BuntDBStorage) CheckToken(ctx context.Context, req *authProto.CheckTokenRequest) (*authProto.CheckTokenResponse, error)
- func (s *BuntDBStorage) Close() error
- func (s *BuntDBStorage) CreateToken(ctx context.Context, req *authProto.CreateTokenRequest) (*authProto.CreateTokenResponse, error)
- func (s *BuntDBStorage) DeleteToken(ctx context.Context, req *authProto.DeleteTokenRequest) (*empty.Empty, error)
- func (s *BuntDBStorage) DeleteUserTokens(ctx context.Context, req *authProto.DeleteUserTokensRequest) (*empty.Empty, error)
- func (s *BuntDBStorage) ExtendToken(ctx context.Context, req *authProto.ExtendTokenRequest) (*authProto.ExtendTokenResponse, error)
- func (s *BuntDBStorage) GetUserTokens(ctx context.Context, req *authProto.GetUserTokensRequest) (*authProto.GetUserTokensResponse, error)
- func (s *BuntDBStorage) UpdateAccess(ctx context.Context, req *authProto.UpdateAccessRequest) (*empty.Empty, error)
- type BuntDBStorageConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BuntDBStorage ¶
type BuntDBStorage struct { BuntDBStorageConfig // contains filtered or unexported fields }
BuntDBStorage is a token storage which uses BuntDB library. It must implement Auth interface (defined in grpc-proto-files). Methods implementing it should retreive only grpc errors
func NewBuntDBStorage ¶
func NewBuntDBStorage(config BuntDBStorageConfig) (storage *BuntDBStorage, err error)
NewBuntDBStorage initializes and returns token storage
func (*BuntDBStorage) AccessTokenByID ¶
func (s *BuntDBStorage) AccessTokenByID(ctx context.Context, req *authProto.AccessTokenByIDRequest) (*authProto.AccessTokenByIDResponse, error)
AccessTokenByID returns user access token
func (*BuntDBStorage) CheckToken ¶
func (s *BuntDBStorage) CheckToken(ctx context.Context, req *authProto.CheckTokenRequest) (*authProto.CheckTokenResponse, error)
CheckToken checks user token. Only access token may be checked. errInvalidToken will be returned if token expired, cannot be parsed or it is not access token errTokenNotOwnedBySender returned if user IP or fingerprint not matches with recorded at token creation.
func (*BuntDBStorage) Close ¶
func (s *BuntDBStorage) Close() error
Close implements closer interface
func (*BuntDBStorage) CreateToken ¶
func (s *BuntDBStorage) CreateToken(ctx context.Context, req *authProto.CreateTokenRequest) (*authProto.CreateTokenResponse, error)
CreateToken creates token with parameters given in req.
func (*BuntDBStorage) DeleteToken ¶
func (s *BuntDBStorage) DeleteToken(ctx context.Context, req *authProto.DeleteTokenRequest) (*empty.Empty, error)
DeleteToken deletes token for user. ErrTokenNotOwnerBySender returned if token owner id not matches id in request
func (*BuntDBStorage) DeleteUserTokens ¶
func (s *BuntDBStorage) DeleteUserTokens(ctx context.Context, req *authProto.DeleteUserTokensRequest) (*empty.Empty, error)
DeleteUserTokens deletes all user tokens
func (*BuntDBStorage) ExtendToken ¶
func (s *BuntDBStorage) ExtendToken(ctx context.Context, req *authProto.ExtendTokenRequest) (*authProto.ExtendTokenResponse, error)
ExtendToken exchanges valid refresh token to new access and refresh tokens.
func (*BuntDBStorage) GetUserTokens ¶
func (s *BuntDBStorage) GetUserTokens(ctx context.Context, req *authProto.GetUserTokensRequest) (*authProto.GetUserTokensResponse, error)
GetUserTokens returns meta information (token id, user agent, user IP) for user
func (*BuntDBStorage) UpdateAccess ¶
func (s *BuntDBStorage) UpdateAccess(ctx context.Context, req *authProto.UpdateAccessRequest) (*empty.Empty, error)
UpdateAccess updates resources accesses for user.
type BuntDBStorageConfig ¶
type BuntDBStorageConfig struct { File string BuntDBConfig buntdb.Config TokenFactory token.IssuerValidator }
BuntDBStorageConfig is a configuration for token storage