Documentation
¶
Index ¶
- Constants
- func AddCodewindRealmToKeycloak(authURL string, realmName string, keycloakAdminUser string, ...) error
- func AddCodewindToKeycloak(workspaceID string, authURL string, realmName string, keycloakAdminUser string, ...) (string, error)
- func GetServerInfo(keycloakHostname string, accesstoken string) (*ServerInfo, *SecError)
- func SecAuthenticate(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration) (*AuthToken, *SecError)
- func SecClientGet(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, ...) (*RegisteredClient, *SecError)
- func SecClientGetSecret(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, ...) (*RegisteredClientSecret, *SecError)
- func SecRealmGet(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, ...) (*KeycloakRealm, *SecError)
- func SecUserGet(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, ...) (*RegisteredUser, *SecError)
- type AuthToken
- type KeycloakAPIError
- type KeycloakConfiguration
- type KeycloakRealm
- type RegisteredClient
- type RegisteredClientSecret
- type RegisteredClients
- type RegisteredTheme
- type RegisteredThemes
- type RegisteredUser
- type RegisteredUsers
- type Result
- type Role
- type SecError
- func GetSuggestedThemes(keycloakHostname string, accesstoken string) (string, string, *SecError)
- func SecClientAppendURL(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, ...) *SecError
- func SecClientCreate(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, ...) *SecError
- func SecRealmCreate(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, ...) *SecError
- func SecRoleCreate(httpClient utils.HTTPClient, keycloakConfig *KeycloakConfiguration, ...) (*SecError, int)
- func SecUserAddRole(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, ...) *SecError
- type ServerInfo
Constants ¶
const CodewindCliID string = "codewind-cli"
CodewindCliID : master realm name
const CodewindClientID string = "codewind-backend"
CodewindClientID : master realm name
const KeycloakAdminClientID string = "admin-cli"
KeycloakAdminClientID : master realm name
const KeycloakMasterRealm string = "master"
KeycloakMasterRealm : master realm name
const KeyringServiceName string = "org.eclipse.codewind"
KeyringServiceName : name
Variables ¶
This section is empty.
Functions ¶
func AddCodewindRealmToKeycloak ¶
func AddCodewindRealmToKeycloak(authURL string, realmName string, keycloakAdminUser string, keycloakAdminPass string) error
AddCodewindRealmToKeycloak : Installs a keycloak realm
func AddCodewindToKeycloak ¶
func AddCodewindToKeycloak(workspaceID string, authURL string, realmName string, keycloakAdminUser string, keycloakAdminPass string, gatekeeperPublicURL string, devUsername string, clientName string) (string, error)
AddCodewindToKeycloak : sets up Keycloak with a realm, client and user Returns a clientKey or an error
func GetServerInfo ¶
func GetServerInfo(keycloakHostname string, accesstoken string) (*ServerInfo, *SecError)
GetServerInfo - fetch Keycloak server info
func SecAuthenticate ¶
func SecAuthenticate(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration) (*AuthToken, *SecError)
SecAuthenticate - sends credentials to the auth server for a specific realm and returns an AuthToken connectionRealm can be used to override the supplied context arguments
func SecClientGet ¶
func SecClientGet(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, accessToken string) (*RegisteredClient, *SecError)
SecClientGet : Retrieve Client information
func SecClientGetSecret ¶
func SecClientGetSecret(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, accessToken string) (*RegisteredClientSecret, *SecError)
SecClientGetSecret : Retrieve the client secret for the supplied clientID
func SecRealmGet ¶
func SecRealmGet(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, accessToken string) (*KeycloakRealm, *SecError)
SecRealmGet : Reads a realm in Keycloak
func SecUserGet ¶
func SecUserGet(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, accessToken string) (*RegisteredUser, *SecError)
SecUserGet : Get user from Keycloak
Types ¶
type AuthToken ¶
type AuthToken struct { AccessToken string `json:"access_token"` ExpiresIn int `json:"expires_in"` RefreshToken string `json:"refresh_token"` TokenType string `json:"token_type"` NotBeforePolicy int `json:"not-before-policy"` SessionState string `json:"session_state"` Scope string `json:"scope"` }
AuthToken from the keycloak server after successfully authenticating
type KeycloakAPIError ¶
type KeycloakAPIError struct { HTTPStatus int Error string `json:"error"` ErrorDescription string `json:"error_description"` ErrorMessage string `json:"errorMessage"` }
KeycloakAPIError : Error responses from Keycloak
type KeycloakConfiguration ¶
type KeycloakConfiguration struct { RealmName string AuthURL string WorkspaceID string KeycloakAdminPassword string KeycloakAdminUsername string DevUsername string GatekeeperPublicURL string ClientName string }
KeycloakConfiguration : Keycloak configuration for an instance of codewind
type KeycloakRealm ¶
type KeycloakRealm struct { ID string `json:"id"` Realm string `json:"realm"` DisplayName string `json:"displayName"` Enabled bool `json:"enabled"` LoginTheme string `json:"loginTheme"` }
KeycloakRealm : A Keycloak Realm
type RegisteredClient ¶
type RegisteredClient struct { ID string `json:"id"` ClientID string `json:"clientId"` Name string `json:"name"` RedirectUris []string `json:"redirectUris"` WebOrigins []string `json:"webOrigins"` }
RegisteredClient : Registered client
type RegisteredClientSecret ¶
RegisteredClientSecret : Client secret
type RegisteredClients ¶
type RegisteredClients struct {
Collection []RegisteredClient
}
RegisteredClients : A collection of registered clients
type RegisteredTheme ¶
RegisteredTheme : A Keycloak theme
type RegisteredThemes ¶
type RegisteredThemes struct { Common []RegisteredTheme `json:"common"` Admin []RegisteredTheme `json:"admin"` Login []RegisteredTheme `json:"login"` Welcome []RegisteredTheme `json:"welcome"` Account []RegisteredTheme `json:"account"` Email []RegisteredTheme `json:"email"` }
RegisteredThemes : A collection of themes
type RegisteredUser ¶
RegisteredUser : details of a registered user
type RegisteredUsers ¶
type RegisteredUsers struct {
Collection []RegisteredUser
}
RegisteredUsers : A collection of registered users
type Role ¶
type Role struct { ID string `json:"id"` Name string `json:"name"` Composite bool `json:"composite"` ClientRole bool `json:"clientRole"` ContainerID string `json:"containerId"` }
Role : Access role
type SecError ¶
SecError : Security package errors
func GetSuggestedThemes ¶
GetSuggestedThemes - Recommends the Codewind theme, else Che, else keycloak default Returns the loginTheme, accountTheme, optionalError
func SecClientAppendURL ¶
func SecClientAppendURL(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, accessToken string) *SecError
SecClientAppendURL : Append an additional url to the whitelist
func SecClientCreate ¶
func SecClientCreate(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, accessToken string, redirectURL string) *SecError
SecClientCreate : Create a new client in Keycloak
func SecRealmCreate ¶
func SecRealmCreate(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, accessToken string) *SecError
SecRealmCreate : Create a new realm in Keycloak
func SecRoleCreate ¶
func SecRoleCreate(httpClient utils.HTTPClient, keycloakConfig *KeycloakConfiguration, accessToken string, roleName string) (*SecError, int)
SecRoleCreate : Create a new role in Keycloak Can return an error and an HTTP code
func SecUserAddRole ¶
func SecUserAddRole(httpClient util.HTTPClient, keycloakConfig *KeycloakConfiguration, accessToken string, roleName string) *SecError
SecUserAddRole : Adds a role to a specified user
type ServerInfo ¶
type ServerInfo struct {
Themes RegisteredThemes `json:"themes"`
}
ServerInfo : A collection of themes