keycloak

package
v0.0.0-...-556b52b Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultMasterRealm    = "master"
	DefaultClientID       = "tks"
	DefaultClientSecret   = "secret"
	AdminCliClientID      = "admin-cli"
	AccessTokenLifespan   = 60 * 60 * 24 // 1 day
	SsoSessionIdleTimeout = 60 * 60 * 24 // 1 day
	SsoSessionMaxLifespan = 60 * 60 * 24 // 1 day
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Address       string
	ClientSecret  string
	AdminId       string
	AdminPassword string
}

type IKeycloak

type IKeycloak interface {
	InitializeKeycloak(ctx context.Context) error

	LoginAdmin(ctx context.Context, accountId string, password string) (*model.User, error)
	Login(ctx context.Context, accountId string, password string, organizationId string) (*model.User, error)
	Logout(ctx context.Context, sessionId string, organizationId string) error

	CreateRealm(ctx context.Context, organizationId string) (string, error)
	GetRealm(ctx context.Context, organizationId string) (*model.Organization, error)
	GetRealms(ctx context.Context) ([]*model.Organization, error)
	DeleteRealm(ctx context.Context, organizationId string) error
	UpdateRealm(ctx context.Context, organizationId string, organizationConfig model.Organization) error

	CreateClient(ctx context.Context, organizationId string, clientName string, clientSecret string, redirectURIs *[]string) (string, error)
	CreateClientProtocolMapper(ctx context.Context, realm string, clientId string, mapper gocloak.ProtocolMapperRepresentation) (string, error)
	CreateClientRole(ctx context.Context, organizationId string, clientId string, roleName string) error
	DeleteClient(ctx context.Context, organizationId string, clientName string, ignoreNotFound bool) error

	CreateUser(ctx context.Context, organizationId string, user *gocloak.User) (string, error)
	GetUser(ctx context.Context, organizationId string, userAccountId string) (*gocloak.User, error)
	GetUsers(ctx context.Context, organizationId string) ([]*gocloak.User, error)
	DeleteUser(ctx context.Context, organizationId string, userAccountId string) error
	UpdateUser(ctx context.Context, organizationId string, user *gocloak.User) error
	JoinGroup(ctx context.Context, organizationId string, userId string, groupName string) error
	LeaveGroup(ctx context.Context, organizationId string, userId string, groupName string) error
	CreateGroup(ctx context.Context, organizationId string, groupName string) (string, error)
	DeleteGroup(ctx context.Context, organizationId string, groupName string) error
	UpdateGroup(ctx context.Context, organizationId string, oldGroupName string, newGroupName string) error
	EnsureClientRoleWithClientName(ctx context.Context, organizationId string, clientName string, roleName string) error
	DeleteClientRoleWithClientName(ctx context.Context, organizationId string, clientName string, roleName string) error

	AssignClientRoleToUser(ctx context.Context, organizationId string, userId string, clientName string, roleName string) error
	UnassignClientRoleToUser(ctx context.Context, organizationId string, userId string, clientName string, roleName string) error

	VerifyAccessToken(ctx context.Context, token string, organizationId string) (bool, error)
	GetSessions(ctx context.Context, userId string, organizationId string) (*[]string, error)
	SetClientScopeRolesToOptionalToTksClient(ctx context.Context, organizationId string) error
}

func New

func New(config *Config) IKeycloak

type Keycloak

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

func (*Keycloak) AssignClientRoleToUser

func (k *Keycloak) AssignClientRoleToUser(ctx context.Context, organizationId string, userId string, clientName string, roleName string) error

func (*Keycloak) CreateClient

func (k *Keycloak) CreateClient(ctx context.Context, organizationId string, clientName string, clientSecret string, redirectURIs *[]string) (string, error)

func (*Keycloak) CreateClientProtocolMapper

func (k *Keycloak) CreateClientProtocolMapper(ctx context.Context, realm string, clientId string, mapper gocloak.ProtocolMapperRepresentation) (string, error)

func (*Keycloak) CreateClientRole

func (k *Keycloak) CreateClientRole(ctx context.Context, organizationId string, clientId string, roleName string) error

func (*Keycloak) CreateGroup

func (k *Keycloak) CreateGroup(ctx context.Context, organizationId string, groupName string) (string, error)

func (*Keycloak) CreateRealm

func (k *Keycloak) CreateRealm(ctx context.Context, organizationId string) (string, error)

func (*Keycloak) CreateUser

func (k *Keycloak) CreateUser(ctx context.Context, organizationId string, user *gocloak.User) (string, error)

func (*Keycloak) DeleteClient

func (k *Keycloak) DeleteClient(ctx context.Context, organizationId string, clientName string, ignoreNotFound bool) error

func (*Keycloak) DeleteClientRoleWithClientName

func (k *Keycloak) DeleteClientRoleWithClientName(ctx context.Context, organizationId string, clientName string, roleName string) error

func (*Keycloak) DeleteGroup

func (k *Keycloak) DeleteGroup(ctx context.Context, organizationId string, groupName string) error

func (*Keycloak) DeleteRealm

func (k *Keycloak) DeleteRealm(ctx context.Context, organizationId string) error

func (*Keycloak) DeleteUser

func (k *Keycloak) DeleteUser(ctx context.Context, organizationId string, userAccountId string) error

func (*Keycloak) EnsureClientRoleWithClientName

func (k *Keycloak) EnsureClientRoleWithClientName(ctx context.Context, organizationId string, clientName string, roleName string) error

func (*Keycloak) GetRealm

func (k *Keycloak) GetRealm(ctx context.Context, organizationId string) (*model.Organization, error)

func (*Keycloak) GetRealms

func (k *Keycloak) GetRealms(ctx context.Context) ([]*model.Organization, error)

func (*Keycloak) GetSessions

func (k *Keycloak) GetSessions(ctx context.Context, userId string, organizationId string) (*[]string, error)

func (*Keycloak) GetUser

func (k *Keycloak) GetUser(ctx context.Context, organizationId string, accountId string) (*gocloak.User, error)

func (*Keycloak) GetUsers

func (k *Keycloak) GetUsers(ctx context.Context, organizationId string) ([]*gocloak.User, error)

func (*Keycloak) InitializeKeycloak

func (k *Keycloak) InitializeKeycloak(ctx context.Context) error

func (*Keycloak) JoinGroup

func (k *Keycloak) JoinGroup(ctx context.Context, organizationId string, userId string, groupName string) error

func (*Keycloak) LeaveGroup

func (k *Keycloak) LeaveGroup(ctx context.Context, organizationId string, userId string, groupName string) error

func (*Keycloak) Login

func (k *Keycloak) Login(ctx context.Context, accountId string, password string, organizationId string) (*model.User, error)

func (*Keycloak) LoginAdmin

func (k *Keycloak) LoginAdmin(ctx context.Context, accountId string, password string) (*model.User, error)

func (*Keycloak) Logout

func (k *Keycloak) Logout(ctx context.Context, sessionId string, organizationId string) error

func (*Keycloak) SetClientScopeRolesToOptionalToTksClient

func (k *Keycloak) SetClientScopeRolesToOptionalToTksClient(ctx context.Context, organizationId string) error

func (*Keycloak) UnassignClientRoleToUser

func (k *Keycloak) UnassignClientRoleToUser(ctx context.Context, organizationId string, userId string, clientName string, roleName string) error

func (*Keycloak) UpdateGroup

func (k *Keycloak) UpdateGroup(ctx context.Context, organizationId string, oldGroupName string, newGroupName string) error

func (*Keycloak) UpdateRealm

func (k *Keycloak) UpdateRealm(ctx context.Context, organizationId string, organizationConfig model.Organization) error

func (*Keycloak) UpdateUser

func (k *Keycloak) UpdateUser(ctx context.Context, organizationId string, user *gocloak.User) error

func (*Keycloak) VerifyAccessToken

func (k *Keycloak) VerifyAccessToken(ctx context.Context, token string, organizationId string) (bool, error)

Jump to

Keyboard shortcuts

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