 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- func GetSignedJwtToken(privKey any, token *jwt.Token) (string, error)
- type AuthenticationMode
- type ConnectFunc
- type ConnectJWTSettings
- func (connectJWT *ConnectJWTSettings) GetConnectFunc(sessionState *session.State, connectionSettings *ConnectionSettings, ...) ConnectFunc
- func (connectJWT *ConnectJWTSettings) GetJwtHeader(sessionState *session.State, header http.Header) (http.Header, error)
- func (connectJWT *ConnectJWTSettings) UnmarshalJSON(arg []byte) error
- func (connectJWT *ConnectJWTSettings) Validate() error
 
- type ConnectJWTSettingsCore
- type ConnectWsSettings
- type ConnectionSettings
- func (connectionSettings *ConnectionSettings) AllowUntrusted() bool
- func (connectionSettings *ConnectionSettings) GetConnectFunc(state *session.State, appGUID, externalhost string, customHeaders http.Header) (ConnectFunc, error)
- func (connectionSettings *ConnectionSettings) GetHeaders(state *session.State, externalhost string) (http.Header, error)
- func (connectionSettings *ConnectionSettings) GetHost() (string, error)
- func (connection *ConnectionSettings) GetRestUrl() (string, error)
- func (connection *ConnectionSettings) GetURL(appGUID, externalhost string) (string, error)
- func (connectionSettings *ConnectionSettings) SetCSRFToken(token string)
- func (connectionSettings *ConnectionSettings) Validate() error
 
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetSignedJwtToken ¶
GetSignedJwtToken Sign token with key
Types ¶
type AuthenticationMode ¶
type AuthenticationMode int
const ( // JWT connect using JWT JWT AuthenticationMode = iota // WS connect websocket without auth WS )
func (AuthenticationMode) GetEnumMap ¶
func (value AuthenticationMode) GetEnumMap() *enummap.EnumMap
func (AuthenticationMode) MarshalJSON ¶
func (value AuthenticationMode) MarshalJSON() ([]byte, error)
MarshalJSON marshal AuthenticationMode type
func (*AuthenticationMode) UnmarshalJSON ¶
func (value *AuthenticationMode) UnmarshalJSON(arg []byte) error
UnmarshalJSON unmarshal AuthenticationMode
type ConnectFunc ¶ added in v0.16.5
ConnectFunc connects to a sense environment, set reconnect to true if it's a reconnect and session in engine is expected. Returns App GUID.
type ConnectJWTSettings ¶
type ConnectJWTSettings struct {
	ConnectJWTSettingsCore
	// contains filtered or unexported fields
}
    func (*ConnectJWTSettings) GetConnectFunc ¶
func (connectJWT *ConnectJWTSettings) GetConnectFunc(sessionState *session.State, connectionSettings *ConnectionSettings, appGUID, externalhost string, headers, customHeaders http.Header) ConnectFunc
GetConnectFunc which establishes a connection to Qlik Sense
func (*ConnectJWTSettings) GetJwtHeader ¶
func (connectJWT *ConnectJWTSettings) GetJwtHeader(sessionState *session.State, header http.Header) (http.Header, error)
GetJwtHeader get Authorization header
func (*ConnectJWTSettings) UnmarshalJSON ¶ added in v0.21.6
func (connectJWT *ConnectJWTSettings) UnmarshalJSON(arg []byte) error
func (*ConnectJWTSettings) Validate ¶
func (connectJWT *ConnectJWTSettings) Validate() error
Validate connectJWTSettings
type ConnectJWTSettingsCore ¶ added in v0.21.6
type ConnectJWTSettingsCore struct {
	// KeyPath path to jwt signing key
	KeyPath string `json:"keypath,omitempty" doc-key:"config.connectionSettings.jwtsettings.keypath" displayname:"Key Path"`
	// JwtHeader JWT headers as escaped json string. Custom headers to be added to the JWT header.
	// The strings for JwtHeader and Claims will be processed as a GO template
	// where User struct can be used
	//  struct {
	//	UserName  string
	// 	Password  string
	// 	Directory string
	// }
	// as well as the function "now" which corresponds to time.Now
	// The entries for "alg" and "typ" are added automatically to the header.
	// E.g. to add a key id header, "kid" add the following string
	// "{\"kid\":\"myKeyId\"}"
	JwtHeader synced.Template `json:"jwtheader" doc-key:"config.connectionSettings.jwtsettings.jwtheader"  displayname:"JWT Header"`
	// Claims JWT claims as escaped json string. E.g. for an on prem JWT auth (with user and directory set as keys in QMC):
	// "{\"user\": \"{{.UserName}}\",\"directory\": \"{{.Directory}}\"}"
	// to add "iat":
	// "{\"iat\":{{now.Unix}}}"
	// or to add "exp" with 5 hours expiration
	// "{\"exp\":{{(now.Add 18000000000000).Unix}}}"
	Claims synced.Template `json:"claims" doc-key:"config.connectionSettings.jwtsettings.claims" displayname:"Claims"`
	// Alg is the signing method to be used for the JWT. Defaults to RS512 if omitted
	Alg string `json:"alg,omitempty" doc-key:"config.connectionSettings.jwtsettings.alg" displayname:"Algoritm"`
}
    ConnectJWTSettings app and server settings using JWT
type ConnectWsSettings ¶
type ConnectWsSettings struct{}
    ConnectWsSettings app and server settings using WS
func (*ConnectWsSettings) GetConnectFunc ¶
func (connectWs *ConnectWsSettings) GetConnectFunc(sessionState *session.State, connectionSettings *ConnectionSettings, appGUID, externalhost string, headers, customHeaders http.Header) ConnectFunc
GetConnectFunc get ws connect function
func (*ConnectWsSettings) Validate ¶
func (connectWs *ConnectWsSettings) Validate() error
Validate open app scenario item
type ConnectionSettings ¶
type ConnectionSettings struct {
	// Mode authentication mode, either JWT or WS
	Mode AuthenticationMode `json:"mode" doc-key:"config.connectionSettings.mode"`
	// JwtSettings JWT mode specific settings
	JwtSettings *ConnectJWTSettings `json:"jwtsettings,omitempty" doc-key:"config.connectionSettings.jwtsettings"`
	// WsSettings WS mode specific settings
	WsSettings *ConnectWsSettings `json:"wssettings,omitempty" doc-key:"config.connectionSettings.wssettings"`
	// Server remote host
	Server string `json:"server" doc-key:"config.connectionSettings.server"`
	// VirtualProxy sense virtual proxy used (added to connect path)
	VirtualProxy string `json:"virtualproxy" doc-key:"config.connectionSettings.virtualproxy"`
	// RawURL used to specify custom path for connection to sense app
	RawURL string `json:"rawurl,omitempty" doc-key:"config.connectionSettings.rawurl"`
	// Port port to be used, defaults to 80 or 443 depending on Security flag
	Port int `json:"port,omitempty" doc-key:"config.connectionSettings.port"`
	// Security use TLS
	Security bool `json:"security" doc-key:"config.connectionSettings.security"`
	// Allowuntrusted certificates
	Allowuntrusted bool `json:"allowuntrusted" doc-key:"config.connectionSettings.allowuntrusted"`
	// AppExt : By making this a pointer, we can check whether it was initialized
	// so that if omitted, it defaults to "app", but can be explicitly set to an empty string as well
	AppExt *string `json:"appext,omitempty" doc-key:"config.connectionSettings.appext"`
	// Header headers to add on the websocket connection
	Headers map[string]string `json:"headers" doc-key:"config.connectionSettings.headers"`
	// MaxFrameSize (Default 0 - No limit). Max size in bytes to be read on sense websocket. Limit exceeded yields an error.
	MaxFrameSize int64 `json:"maxframesize" doc-key:"config.connectionSettings.maxframesize"`
	// contains filtered or unexported fields
}
    func (*ConnectionSettings) AllowUntrusted ¶
func (connectionSettings *ConnectionSettings) AllowUntrusted() bool
AllowUntrusted implements session.ConnectionSettings interface
func (*ConnectionSettings) GetConnectFunc ¶
func (connectionSettings *ConnectionSettings) GetConnectFunc(state *session.State, appGUID, externalhost string, customHeaders http.Header) (ConnectFunc, error)
GetConnectFunc Get function for connecting to sense
func (*ConnectionSettings) GetHeaders ¶
func (connectionSettings *ConnectionSettings) GetHeaders(state *session.State, externalhost string) (http.Header, error)
GetHeaders Get auth headers
func (*ConnectionSettings) GetHost ¶
func (connectionSettings *ConnectionSettings) GetHost() (string, error)
GetHost get hostname
func (*ConnectionSettings) GetRestUrl ¶
func (connection *ConnectionSettings) GetRestUrl() (string, error)
func (*ConnectionSettings) GetURL ¶
func (connection *ConnectionSettings) GetURL(appGUID, externalhost string) (string, error)
GetURL get websocket URL
func (*ConnectionSettings) SetCSRFToken ¶ added in v0.20.0
func (connectionSettings *ConnectionSettings) SetCSRFToken(token string)
SetCSRFToken setting token that will be added to connect url when connecting to engine
func (*ConnectionSettings) Validate ¶
func (connectionSettings *ConnectionSettings) Validate() error
Validate connection setttings