auth

package
v0.0.0-...-f9144f1 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PermissionBackupList    = "ydb.databases.list"
	PermissionBackupCreate  = "ydb.databases.backup"
	PermissionBackupRestore = "ydb.tables.create"
	PermissionBackupGet     = "ydb.databases.get"
)

Variables

View Source
var (
	ErrGetAuthToken = errors.New("can't get auth token")
)

Functions

func CheckAuth

func CheckAuth(ctx context.Context, provider auth.AuthProvider, permission, containerID, resourceID string) (string, error)

func NewAuthProvider

func NewAuthProvider(ctx context.Context, cfg config.AuthConfig) (auth.AuthProvider, error)

func NewDummyAuthProvider

func NewDummyAuthProvider(ctx context.Context) (auth.AuthProvider, error)

func TokenFromGRPCContext

func TokenFromGRPCContext(ctx context.Context) (string, error)

Types

type MockAuthProvider

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

func NewMockAuthProvider

func NewMockAuthProvider(options ...Option) *MockAuthProvider

func (*MockAuthProvider) Authorize

func (p *MockAuthProvider) Authorize(
	ctx context.Context,
	token string,
	checks ...auth.AuthorizeCheck,
) (results []auth.AuthorizeResult, subject string, err error)

func (*MockAuthProvider) Finish

func (p *MockAuthProvider) Finish(ctx context.Context) error

func (*MockAuthProvider) Init

func (p *MockAuthProvider) Init(ctx context.Context, config string) error

type MockContainer

type MockContainer struct {
	Permissions MockSubjectsPermissions
}

func NewMocContainer

func NewMocContainer() *MockContainer

func (*MockContainer) AddSubjectPermission

func (c *MockContainer) AddSubjectPermission(subject string, permission string)

type MockContainerID

type MockContainerID string

type MockPermissionsList

type MockPermissionsList map[string]bool

type MockResource

type MockResource struct {
	ParentID    MockContainerID
	Permissions MockSubjectsPermissions
}

func NewMocResource

func NewMocResource(parent MockContainerID) *MockResource

func (*MockResource) AddSubjectPermission

func (r *MockResource) AddSubjectPermission(subject string, permission string)

type MockResourceID

type MockResourceID string

type MockSubjectID

type MockSubjectID string

type MockSubjectsPermissions

type MockSubjectsPermissions map[MockSubjectID]MockPermissionsList

func NewMockSubjectsPermissions

func NewMockSubjectsPermissions() MockSubjectsPermissions

func (MockSubjectsPermissions) AddSubjectPermission

func (sp MockSubjectsPermissions) AddSubjectPermission(subject string, permission string)

func (MockSubjectsPermissions) HasSubjectPermission

func (sp MockSubjectsPermissions) HasSubjectPermission(subject string, permission string) bool

type MockTokenInfo

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

type Option

type Option func(*MockAuthProvider)

func WithContainer

func WithContainer(id MockContainerID, container *MockContainer) Option

func WithResource

func WithResource(id MockResourceID, res *MockResource) Option

func WithToken

func WithToken(token string, subject string, authCode auth.AuthCode) Option

Jump to

Keyboard shortcuts

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