Documentation
¶
Index ¶
- Constants
- type AppRole
- type AppRoleTemplate
- type ManagementUser
- type ManagementUserDBService
- func (dbService *ManagementUserDBService) AddAppRoleForSubject(instanceID string, subjectID string, subjectType string, appName string, ...) error
- func (dbService *ManagementUserDBService) AddAppRoleTemplate(instanceID string, appName string, role string, ...) error
- func (dbService *ManagementUserDBService) CreateDefaultIndexes()
- func (dbService *ManagementUserDBService) CreateDefaultIndexesForAppRoleTemplatesCollection(instanceID string)
- func (dbService *ManagementUserDBService) CreateDefaultIndexesForAppRolesCollection(instanceID string)
- func (dbService *ManagementUserDBService) CreateDefaultIndexesForManagementUsersCollection(instanceID string)
- func (dbService *ManagementUserDBService) CreateDefaultIndexesForPermissionsCollection(instanceID string)
- func (dbService *ManagementUserDBService) CreateDefaultIndexesForServiceUserAPIKeysCollection(instanceID string)
- func (dbService *ManagementUserDBService) CreateDefaultIndexesForSessionsCollection(instanceID string)
- func (dbService *ManagementUserDBService) CreatePermission(instanceID string, subjectID string, subjectType string, resourceType string, ...) (*Permission, error)
- func (dbService *ManagementUserDBService) CreateServiceUser(instanceID string, label string, description string) (*ServiceUser, error)
- func (dbService *ManagementUserDBService) CreateServiceUserAPIKey(instanceID string, serviceUserID string, apiKey string, expiresAt *time.Time) error
- func (dbService *ManagementUserDBService) CreateSession(instanceID string, userID string, renewToken string) (*Session, error)
- func (dbService *ManagementUserDBService) CreateUser(instanceID string, newUser *ManagementUser) (*ManagementUser, error)
- func (dbService *ManagementUserDBService) DeleteAppRole(instanceID string, appRoleID string) error
- func (dbService *ManagementUserDBService) DeleteAppRoleTemplate(instanceID string, appRoleTemplateID string) error
- func (dbService *ManagementUserDBService) DeletePermission(instanceID string, permissionID string) error
- func (dbService *ManagementUserDBService) DeletePermissionsBySubject(instanceID string, subjectID string, subjectType string) error
- func (dbService *ManagementUserDBService) DeleteServiceUser(instanceID string, id string) error
- func (dbService *ManagementUserDBService) DeleteServiceUserAPIKey(instanceID string, id string) error
- func (dbService *ManagementUserDBService) DeleteSession(instanceID string, sessionID string) error
- func (dbService *ManagementUserDBService) DeleteSessionsByUserID(instanceID string, userID string) error
- func (dbService *ManagementUserDBService) DeleteUser(instanceID string, id string) error
- func (dbService *ManagementUserDBService) DropIndexForAppRoleTemplatesCollection(instanceID string, dropAll bool)
- func (dbService *ManagementUserDBService) DropIndexForAppRolesCollection(instanceID string, dropAll bool)
- func (dbService *ManagementUserDBService) DropIndexForManagementUsersCollection(instanceID string, dropAll bool)
- func (dbService *ManagementUserDBService) DropIndexForPermissionsCollection(instanceID string, dropAll bool)
- func (dbService *ManagementUserDBService) DropIndexForServiceUserAPIKeysCollection(instanceID string, dropAll bool)
- func (dbService *ManagementUserDBService) DropIndexForSessionsCollection(instanceID string, dropAll bool)
- func (dbService *ManagementUserDBService) DropIndexes(dropAll bool)
- func (dbService *ManagementUserDBService) GetAllAppRoleTemplates(instanceID string) ([]AppRoleTemplate, error)
- func (dbService *ManagementUserDBService) GetAllAppRoles(instanceID string) ([]AppRole, error)
- func (dbService *ManagementUserDBService) GetAllUsers(instanceID string, returnFullObject bool) ([]*ManagementUser, error)
- func (dbService *ManagementUserDBService) GetAppRoleTemplateByID(instanceID string, appRoleTemplateID string) (AppRoleTemplate, error)
- func (dbService *ManagementUserDBService) GetAppRolesForSubject(instanceID string, subjectID string) ([]AppRole, error)
- func (dbService *ManagementUserDBService) GetIndexes() (map[string]map[string][]bson.M, error)
- func (dbService *ManagementUserDBService) GetPermissionByID(instanceID string, permissionID string) (*Permission, error)
- func (dbService *ManagementUserDBService) GetPermissionByResource(instanceID string, resourceType string, resourceKey string) ([]*Permission, error)
- func (dbService *ManagementUserDBService) GetPermissionBySubject(instanceID string, subjectID string, subjectType string) ([]*Permission, error)
- func (dbService *ManagementUserDBService) GetPermissionBySubjectAndResourceForAction(instanceID string, subjectID string, subjectType string, resourceType string, ...) ([]*Permission, error)
- func (dbService *ManagementUserDBService) GetServiceUserAPIKey(instanceID string, apiKey string) (*ServiceUserAPIKey, error)
- func (dbService *ManagementUserDBService) GetServiceUserAPIKeys(instanceID string, serviceUserID string) ([]ServiceUserAPIKey, error)
- func (dbService *ManagementUserDBService) GetServiceUserByID(instanceID string, id string) (*ServiceUser, error)
- func (dbService *ManagementUserDBService) GetServiceUsers(instanceID string) ([]ServiceUser, error)
- func (dbService *ManagementUserDBService) GetSession(instanceID string, sessionID string) (*Session, error)
- func (dbService *ManagementUserDBService) GetUserByID(instanceID string, id string) (*ManagementUser, error)
- func (dbService *ManagementUserDBService) GetUserBySub(instanceID string, sub string) (*ManagementUser, error)
- func (dbService *ManagementUserDBService) GetUsersByIDs(instanceID string, ids []string, returnFullObject bool) ([]*ManagementUser, error)
- func (dbService *ManagementUserDBService) RemoveAllAppRoleTemplatesForApp(instanceID string, appName string) error
- func (dbService *ManagementUserDBService) RemoveAllAppRolesForApp(instanceID string, appName string) error
- func (dbService *ManagementUserDBService) RemoveAllAppRolesForAppTemplate(instanceID string, appName string, role string) error
- func (dbService *ManagementUserDBService) RemoveAllAppRolesForSubject(instanceID string, subjectID string) error
- func (dbService *ManagementUserDBService) UpdateAppRoleTemplate(instanceID string, appRoleTemplateID string, appName string, role string, ...) error
- func (dbService *ManagementUserDBService) UpdatePermissionLimiter(instanceID string, permissionID string, limiter []map[string]string) error
- func (dbService *ManagementUserDBService) UpdateServiceUser(instanceID string, id string, label string, description string) error
- func (dbService *ManagementUserDBService) UpdateServiceUserAPIKeyLastUsedAt(instanceID string, apiKey string) error
- func (dbService *ManagementUserDBService) UpdateUser(instanceID string, id string, email string, username string, provider string, ...) error
- type Permission
- type ServiceUser
- type ServiceUserAPIKey
- type Session
Constants ¶
const ( COLLECTION_NAME_MANAGEMENT_USERS = "management_users" COLLECTION_NAME_PERMISSIONS = "permissions" COLLECTION_NAME_SESSIONS = "management_user_sessions" COLLECTION_NAME_SERVICE_USERS = "service_users" COLLECTION_NAME_SERVICE_USER_API_KEYS = "service_user_api_keys" COLLECTION_NAME_APP_ROLES = "app_roles" COLLECTION_NAME_APP_ROLE_TEMPLATES = "app_role_templates" )
collection names
const (
REMOVE_SESSIONS_AFTER = 60 * 60 * 24 * 2 // 2 days
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppRole ¶
type AppRole struct {
ID primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"`
SubjectID string `json:"subjectId,omitempty" bson:"subjectId,omitempty"`
SubjectType string `json:"subjectType,omitempty" bson:"subjectType,omitempty"`
AppName string `json:"appName,omitempty" bson:"appName,omitempty"`
Role string `json:"role,omitempty" bson:"role,omitempty"`
CreatedAt time.Time `json:"createdAt,omitempty" bson:"createdAt,omitempty"`
}
type AppRoleTemplate ¶
type AppRoleTemplate struct {
ID primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"`
AppName string `json:"appName,omitempty" bson:"appName,omitempty"`
Role string `json:"role,omitempty" bson:"role,omitempty"`
RequiredPermissions []Permission `json:"requiredPermissions,omitempty" bson:"requiredPermissions,omitempty"`
CreatedAt time.Time `json:"createdAt,omitempty" bson:"createdAt,omitempty"`
UpdatedAt time.Time `json:"updatedAt,omitempty" bson:"updatedAt,omitempty"`
}
type ManagementUser ¶
type ManagementUser struct {
ID primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"`
Sub string `json:"sub,omitempty" bson:"sub,omitempty"`
Email string `json:"email,omitempty" bson:"email,omitempty"`
Username string `json:"username,omitempty" bson:"username,omitempty"`
Provider string `json:"provider,omitempty" bson:"provider,omitempty"`
ImageURL string `json:"imageUrl,omitempty" bson:"imageUrl,omitempty"`
IsAdmin bool `json:"isAdmin,omitempty" bson:"isAdmin,omitempty"`
LastLoginAt time.Time `json:"lastLoginAt,omitempty" bson:"lastLoginAt,omitempty"`
CreatedAt time.Time `json:"createdAt,omitempty" bson:"createdAt,omitempty"`
}
type ManagementUserDBService ¶
type ManagementUserDBService struct {
DBClient *mongo.Client
DBNamePrefix string
InstanceIDs []string
// contains filtered or unexported fields
}
func NewManagementUserDBService ¶
func NewManagementUserDBService(configs db.DBConfig) (*ManagementUserDBService, error)
func (*ManagementUserDBService) AddAppRoleForSubject ¶
func (dbService *ManagementUserDBService) AddAppRoleForSubject( instanceID string, subjectID string, subjectType string, appName string, role string, ) error
Add a new app role for a user
func (*ManagementUserDBService) AddAppRoleTemplate ¶
func (dbService *ManagementUserDBService) AddAppRoleTemplate( instanceID string, appName string, role string, requiredPermissions []Permission, ) error
Add a new app role template
func (*ManagementUserDBService) CreateDefaultIndexes ¶
func (dbService *ManagementUserDBService) CreateDefaultIndexes()
func (*ManagementUserDBService) CreateDefaultIndexesForAppRoleTemplatesCollection ¶
func (dbService *ManagementUserDBService) CreateDefaultIndexesForAppRoleTemplatesCollection(instanceID string)
func (*ManagementUserDBService) CreateDefaultIndexesForAppRolesCollection ¶
func (dbService *ManagementUserDBService) CreateDefaultIndexesForAppRolesCollection(instanceID string)
func (*ManagementUserDBService) CreateDefaultIndexesForManagementUsersCollection ¶
func (dbService *ManagementUserDBService) CreateDefaultIndexesForManagementUsersCollection(instanceID string)
func (*ManagementUserDBService) CreateDefaultIndexesForPermissionsCollection ¶
func (dbService *ManagementUserDBService) CreateDefaultIndexesForPermissionsCollection(instanceID string)
func (*ManagementUserDBService) CreateDefaultIndexesForServiceUserAPIKeysCollection ¶
func (dbService *ManagementUserDBService) CreateDefaultIndexesForServiceUserAPIKeysCollection(instanceID string)
func (*ManagementUserDBService) CreateDefaultIndexesForSessionsCollection ¶
func (dbService *ManagementUserDBService) CreateDefaultIndexesForSessionsCollection(instanceID string)
func (*ManagementUserDBService) CreatePermission ¶
func (dbService *ManagementUserDBService) CreatePermission( instanceID string, subjectID string, subjectType string, resourceType string, resourceKey string, action string, limiter []map[string]string, ) (*Permission, error)
Create permission
func (*ManagementUserDBService) CreateServiceUser ¶
func (dbService *ManagementUserDBService) CreateServiceUser(instanceID string, label string, description string) (*ServiceUser, error)
CreateServiceUser creates a new service user
func (*ManagementUserDBService) CreateServiceUserAPIKey ¶
func (*ManagementUserDBService) CreateSession ¶
func (dbService *ManagementUserDBService) CreateSession( instanceID string, userID string, renewToken string, ) (*Session, error)
Session represents a user session, created when a user logs in
func (*ManagementUserDBService) CreateUser ¶
func (dbService *ManagementUserDBService) CreateUser( instanceID string, newUser *ManagementUser, ) (*ManagementUser, error)
func (*ManagementUserDBService) DeleteAppRole ¶
func (dbService *ManagementUserDBService) DeleteAppRole( instanceID string, appRoleID string, ) error
Remove an app role
func (*ManagementUserDBService) DeleteAppRoleTemplate ¶
func (dbService *ManagementUserDBService) DeleteAppRoleTemplate( instanceID string, appRoleTemplateID string, ) error
Delete a app role template
func (*ManagementUserDBService) DeletePermission ¶
func (dbService *ManagementUserDBService) DeletePermission( instanceID string, permissionID string, ) error
Delete permission
func (*ManagementUserDBService) DeletePermissionsBySubject ¶
func (dbService *ManagementUserDBService) DeletePermissionsBySubject( instanceID string, subjectID string, subjectType string, ) error
Delete permissions by subject id and type
func (*ManagementUserDBService) DeleteServiceUser ¶
func (dbService *ManagementUserDBService) DeleteServiceUser(instanceID string, id string) error
DeleteServiceUser deletes a service user by its ID and all its API keys
func (*ManagementUserDBService) DeleteServiceUserAPIKey ¶
func (dbService *ManagementUserDBService) DeleteServiceUserAPIKey(instanceID string, id string) error
func (*ManagementUserDBService) DeleteSession ¶
func (dbService *ManagementUserDBService) DeleteSession( instanceID string, sessionID string, ) error
DeleteSession deletes the session with the given ID
func (*ManagementUserDBService) DeleteSessionsByUserID ¶
func (dbService *ManagementUserDBService) DeleteSessionsByUserID( instanceID string, userID string, ) error
DeleteSessionsByUserID deletes all sessions for the given user
func (*ManagementUserDBService) DeleteUser ¶
func (dbService *ManagementUserDBService) DeleteUser( instanceID string, id string, ) error
delete user
func (*ManagementUserDBService) DropIndexForAppRoleTemplatesCollection ¶
func (dbService *ManagementUserDBService) DropIndexForAppRoleTemplatesCollection(instanceID string, dropAll bool)
func (*ManagementUserDBService) DropIndexForAppRolesCollection ¶
func (dbService *ManagementUserDBService) DropIndexForAppRolesCollection(instanceID string, dropAll bool)
func (*ManagementUserDBService) DropIndexForManagementUsersCollection ¶
func (dbService *ManagementUserDBService) DropIndexForManagementUsersCollection(instanceID string, dropAll bool)
func (*ManagementUserDBService) DropIndexForPermissionsCollection ¶
func (dbService *ManagementUserDBService) DropIndexForPermissionsCollection(instanceID string, dropAll bool)
func (*ManagementUserDBService) DropIndexForServiceUserAPIKeysCollection ¶
func (dbService *ManagementUserDBService) DropIndexForServiceUserAPIKeysCollection(instanceID string, dropAll bool)
func (*ManagementUserDBService) DropIndexForSessionsCollection ¶
func (dbService *ManagementUserDBService) DropIndexForSessionsCollection(instanceID string, dropAll bool)
func (*ManagementUserDBService) DropIndexes ¶
func (dbService *ManagementUserDBService) DropIndexes(dropAll bool)
func (*ManagementUserDBService) GetAllAppRoleTemplates ¶
func (dbService *ManagementUserDBService) GetAllAppRoleTemplates( instanceID string, ) ([]AppRoleTemplate, error)
Get all app role templates
func (*ManagementUserDBService) GetAllAppRoles ¶
func (dbService *ManagementUserDBService) GetAllAppRoles( instanceID string, ) ([]AppRole, error)
Get all app roles
func (*ManagementUserDBService) GetAllUsers ¶
func (dbService *ManagementUserDBService) GetAllUsers( instanceID string, returnFullObject bool, ) ([]*ManagementUser, error)
get all management users
func (*ManagementUserDBService) GetAppRoleTemplateByID ¶
func (dbService *ManagementUserDBService) GetAppRoleTemplateByID( instanceID string, appRoleTemplateID string, ) (AppRoleTemplate, error)
Get a app role template by id
func (*ManagementUserDBService) GetAppRolesForSubject ¶
func (dbService *ManagementUserDBService) GetAppRolesForSubject( instanceID string, subjectID string, ) ([]AppRole, error)
Get app roles for a user
func (*ManagementUserDBService) GetIndexes ¶
func (*ManagementUserDBService) GetPermissionByID ¶
func (dbService *ManagementUserDBService) GetPermissionByID( instanceID string, permissionID string, ) (*Permission, error)
Find permission by id
func (*ManagementUserDBService) GetPermissionByResource ¶
func (dbService *ManagementUserDBService) GetPermissionByResource( instanceID string, resourceType string, resourceKey string, ) ([]*Permission, error)
Find permissions by resource type and key
func (*ManagementUserDBService) GetPermissionBySubject ¶
func (dbService *ManagementUserDBService) GetPermissionBySubject( instanceID string, subjectID string, subjectType string, ) ([]*Permission, error)
Find permissions by subject id and type
func (*ManagementUserDBService) GetPermissionBySubjectAndResourceForAction ¶
func (dbService *ManagementUserDBService) GetPermissionBySubjectAndResourceForAction( instanceID string, subjectID string, subjectType string, resourceType string, resourceKey []string, action string, ) ([]*Permission, error)
Find permissions by subject id and type and resource type
func (*ManagementUserDBService) GetServiceUserAPIKey ¶
func (dbService *ManagementUserDBService) GetServiceUserAPIKey(instanceID string, apiKey string) (*ServiceUserAPIKey, error)
func (*ManagementUserDBService) GetServiceUserAPIKeys ¶
func (dbService *ManagementUserDBService) GetServiceUserAPIKeys(instanceID string, serviceUserID string) ([]ServiceUserAPIKey, error)
func (*ManagementUserDBService) GetServiceUserByID ¶
func (dbService *ManagementUserDBService) GetServiceUserByID(instanceID string, id string) (*ServiceUser, error)
GetServiceUserByID returns a service user by its ID
func (*ManagementUserDBService) GetServiceUsers ¶
func (dbService *ManagementUserDBService) GetServiceUsers(instanceID string) ([]ServiceUser, error)
GetServiceUsers returns all service users
func (*ManagementUserDBService) GetSession ¶
func (dbService *ManagementUserDBService) GetSession( instanceID string, sessionID string, ) (*Session, error)
GetSession returns the session with the given ID
func (*ManagementUserDBService) GetUserByID ¶
func (dbService *ManagementUserDBService) GetUserByID( instanceID string, id string, ) (*ManagementUser, error)
find user by id
func (*ManagementUserDBService) GetUserBySub ¶
func (dbService *ManagementUserDBService) GetUserBySub( instanceID string, sub string, ) (*ManagementUser, error)
find user by sub
func (*ManagementUserDBService) GetUsersByIDs ¶
func (dbService *ManagementUserDBService) GetUsersByIDs( instanceID string, ids []string, returnFullObject bool, ) ([]*ManagementUser, error)
Get users by ids
func (*ManagementUserDBService) RemoveAllAppRoleTemplatesForApp ¶
func (dbService *ManagementUserDBService) RemoveAllAppRoleTemplatesForApp( instanceID string, appName string, ) error
Remove all app role templates for an app
func (*ManagementUserDBService) RemoveAllAppRolesForApp ¶
func (dbService *ManagementUserDBService) RemoveAllAppRolesForApp( instanceID string, appName string, ) error
Remove all app roles for an app
func (*ManagementUserDBService) RemoveAllAppRolesForAppTemplate ¶
func (dbService *ManagementUserDBService) RemoveAllAppRolesForAppTemplate( instanceID string, appName string, role string, ) error
Remove all app roles for an app template (by appName and role)
func (*ManagementUserDBService) RemoveAllAppRolesForSubject ¶
func (dbService *ManagementUserDBService) RemoveAllAppRolesForSubject( instanceID string, subjectID string, ) error
Remove all app roles for a user
func (*ManagementUserDBService) UpdateAppRoleTemplate ¶
func (dbService *ManagementUserDBService) UpdateAppRoleTemplate( instanceID string, appRoleTemplateID string, appName string, role string, requiredPermissions []Permission, ) error
Update a app role template
func (*ManagementUserDBService) UpdatePermissionLimiter ¶
func (dbService *ManagementUserDBService) UpdatePermissionLimiter( instanceID string, permissionID string, limiter []map[string]string, ) error
Modify limiter of permission
func (*ManagementUserDBService) UpdateServiceUser ¶
func (dbService *ManagementUserDBService) UpdateServiceUser(instanceID string, id string, label string, description string) error
UpdateServiceUser updates a service user by its ID
func (*ManagementUserDBService) UpdateServiceUserAPIKeyLastUsedAt ¶
func (dbService *ManagementUserDBService) UpdateServiceUserAPIKeyLastUsedAt(instanceID string, apiKey string) error
type Permission ¶
type Permission struct {
ID primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"`
SubjectID string `json:"subjectId,omitempty" bson:"subjectId,omitempty"`
SubjectType string `json:"subjectType,omitempty" bson:"subjectType,omitempty"`
ResourceType string `json:"resourceType,omitempty" bson:"resourceType,omitempty"`
ResourceKey string `json:"resourceKey,omitempty" bson:"resourceKey,omitempty"`
Action string `json:"action,omitempty" bson:"action,omitempty"`
Limiter []map[string]string `json:"limiter,omitempty" bson:"limiter,omitempty"`
}
type ServiceUser ¶
type ServiceUser struct {
ID primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"`
Label string `json:"label,omitempty" bson:"label,omitempty"`
Description string `json:"description,omitempty" bson:"description,omitempty"`
CreatedAt time.Time `json:"createdAt,omitempty" bson:"createdAt,omitempty"`
}
type ServiceUserAPIKey ¶
type ServiceUserAPIKey struct {
ID primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"`
ServiceUserID string `json:"serviceUserId,omitempty" bson:"serviceUserId,omitempty"`
Key string `json:"key,omitempty" bson:"key,omitempty"`
ExpiresAt *time.Time `json:"expiresAt,omitempty" bson:"expiresAt,omitempty"`
CreatedAt time.Time `json:"createdAt,omitempty" bson:"createdAt,omitempty"`
LastUsedAt time.Time `json:"lastUsedAt,omitempty" bson:"lastUsedAt,omitempty"`
}
type Session ¶
type Session struct {
ID primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"`
UserID string `json:"userId,omitempty" bson:"userId,omitempty"`
RenewToken string `json:"renewToken,omitempty" bson:"renewToken,omitempty"`
CreatedAt time.Time `json:"createdAt,omitempty" bson:"createdAt,omitempty"`
}