Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Asset ¶
type Asset struct {
Path string `yaml:"asset" env:"IDP_ASSET_PATH" desc:"Serve IDP assets from a path on the filesystem instead of the builtin assets."`
}
Asset defines the available asset configuration.
type Config ¶
type Config struct { Commons *shared.Commons `yaml:"-"` // don't use this directly as configuration for a service Service Service `yaml:"-"` Tracing *Tracing `yaml:"tracing"` Log *Log `yaml:"log"` Debug Debug `yaml:"debug"` HTTP HTTP `yaml:"http"` Reva *Reva `yaml:"reva"` MachineAuthAPIKey string `` /* 206-byte string literal not displayed */ Asset Asset `yaml:"asset"` IDP Settings `yaml:"idp"` Clients []Client `yaml:"clients"` Ldap Ldap `yaml:"ldap"` Context context.Context `yaml:"-"` }
Config combines all available configuration parts.
type Debug ¶
type Debug struct { Addr string `` /* 140-byte string literal not displayed */ Token string `yaml:"token" env:"IDP_DEBUG_TOKEN" desc:"Token to secure the metrics endpoint."` Pprof bool `yaml:"pprof" env:"IDP_DEBUG_PPROF" desc:"Enables pprof, which can be used for profiling."` Zpages bool `yaml:"zpages" env:"IDP_DEBUG_ZPAGES" desc:"Enables zpages, which can be used for collecting and viewing in-memory traces."` }
Debug defines the available debug configuration.
type HTTP ¶
type HTTP struct { Addr string `yaml:"addr" env:"IDP_HTTP_ADDR" desc:"The bind address of the HTTP service."` Root string `yaml:"root" env:"IDP_HTTP_ROOT" desc:"Subdirectory that serves as the root for this HTTP service."` Namespace string `yaml:"-"` TLSCert string `yaml:"tls_cert" env:"IDP_TRANSPORT_TLS_CERT" desc:"File name of the TLS server certificate for the HTTPS server."` TLSKey string `yaml:"tls_key" env:"IDP_TRANSPORT_TLS_KEY" desc:"File name of the TLS server certificate key for the HTTPS server."` TLS bool `yaml:"tls" env:"IDP_TLS" desc:"Use the HTTPS server instead of the HTTP server."` }
HTTP defines the available http configuration.
type Ldap ¶
type Ldap struct { URI string `yaml:"uri" env:"LDAP_URI;IDP_LDAP_URI" desc:"Url of the LDAP service to use as IDP."` TLSCACert string `yaml:"cacert" env:"LDAP_CACERT;IDP_LDAP_TLS_CACERT" desc:"Path to the TLS cert for the LDAP service."` BindDN string `` /* 132-byte string literal not displayed */ BindPassword string `yaml:"bind_password" env:"LDAP_BIND_PASSWORD;IDP_LDAP_BIND_PASSWORD" desc:"Password to use for authenticating the 'bind_dn'."` BaseDN string `yaml:"base_dn" env:"LDAP_USER_BASE_DN;IDP_LDAP_BASE_DN" desc:"Search base DN for looking up LDAP users."` Scope string `` /* 150-byte string literal not displayed */ LoginAttribute string `yaml:"login_attribute" env:"IDP_LDAP_LOGIN_ATTRIBUTE" desc:"LDAP User attribute to use for login like 'uid'."` EmailAttribute string `yaml:"email_attribute" env:"LDAP_USER_SCHEMA_MAIL;IDP_LDAP_EMAIL_ATTRIBUTE" desc:"LDAP User email attribute like 'mail'."` NameAttribute string `` /* 129-byte string literal not displayed */ UUIDAttribute string `yaml:"uuid_attribute" env:"LDAP_USER_SCHEMA_ID;IDP_LDAP_UUID_ATTRIBUTE" desc:"LDAP User uuid attribute like 'uid'."` UUIDAttributeType string `yaml:"uuid_attribute_type" env:"IDP_LDAP_UUID_ATTRIBUTE_TYPE" desc:"LDAP User uuid attribute type like 'text'."` Filter string `` /* 148-byte string literal not displayed */ ObjectClass string `yaml:"objectclass" env:"LDAP_USER_OBJECTCLASS;IDP_LDAP_OBJECTCLASS" desc:"LDAP User ObjectClass like 'inetOrgPerson'."` }
Ldap defines the available LDAP configuration.
type Log ¶
type Log struct { Level string `` /* 162-byte string literal not displayed */ Pretty bool `yaml:"pretty" env:"OCIS_LOG_PRETTY;IDP_LOG_PRETTY" desc:"Activates pretty log output."` Color bool `yaml:"color" env:"OCIS_LOG_COLOR;IDP_LOG_COLOR" desc:"Activates colorized log output."` File string `yaml:"file" env:"OCIS_LOG_FILE;IDP_LOG_FILE" desc:"The path to the log file. Activates logging to this file if set."` }
Log defines the available log configuration.
type Reva ¶
type Reva struct {
Address string `yaml:"address" env:"REVA_GATEWAY" desc:"CS3 gateway used to authenticate and look up users"`
}
Reva defines all available REVA configuration.
type Service ¶
type Service struct { Name string `yaml:"-"` PasswordResetURI string `yaml:"password_reset_uri" env:"IDP_PASSWORD_RESET_URI" desc:"The URI where a user can reset their password."` }
Service defines the available service configuration.
type Settings ¶
type Settings struct { Iss string `yaml:"iss" env:"OCIS_URL;OCIS_OIDC_ISSUER;IDP_ISS" desc:"The OIDC issuer URL to use."` IdentityManager string `` /* 190-byte string literal not displayed */ URIBasePath string `yaml:"uri_base_path" env:"IDP_URI_BASE_PATH" desc:"IDP uri base path (defaults to \"\")."` SignInURI string `yaml:"sign_in_uri" env:"IDP_SIGN_IN_URI" desc:"IDP sign-in url."` SignedOutURI string `yaml:"signed_out_uri" env:"IDP_SIGN_OUT_URI" desc:"IDP sign-out url."` AuthorizationEndpointURI string `yaml:"authorization_endpoint_uri" env:"IDP_ENDPOINT_URI" desc:"URL of the IDP endpoint."` EndsessionEndpointURI string `yaml:"-"` // unused, not supported by lico-idp Insecure bool `` /* 126-byte string literal not displayed */ TrustedProxy []string `yaml:"trusted_proxy"` //TODO: how to configure this via env? AllowScope []string `yaml:"allow_scope"` // TODO: is this even needed? AllowClientGuests bool `yaml:"allow_client_guests" env:"IDP_ALLOW_CLIENT_GUESTS" desc:"Allow guest clients to access oCIS."` AllowDynamicClientRegistration bool `` /* 126-byte string literal not displayed */ EncryptionSecretFile string `` /* 212-byte string literal not displayed */ Listen string IdentifierClientDisabled bool `yaml:"-"` // unused IdentifierClientPath string `yaml:"-"` IdentifierRegistrationConf string `yaml:"-"` IdentifierScopesConf string `yaml:"-"` // unused IdentifierDefaultBannerLogo string IdentifierDefaultSignInPageText string IdentifierDefaultUsernameHintText string IdentifierUILocales []string SigningKid string `` /* 157-byte string literal not displayed */ SigningMethod string `yaml:"signing_method" env:"IDP_SIGNING_METHOD" desc:"Signing method of IDP requests like 'PS256'"` SigningPrivateKeyFiles []string `yaml:"signing_private_key_files" env:"IDP_SIGNING_PRIVATE_KEY_FILES" desc:"Private key files for signing IDP requests."` ValidationKeysPath string `yaml:"validation_keys_path" env:"IDP_VALIDATION_KEYS_PATH" desc:"Path to validation keys for IDP requests."` CookieBackendURI string CookieNames []string AccessTokenDurationSeconds uint64 `` /* 126-byte string literal not displayed */ IDTokenDurationSeconds uint64 `yaml:"id_token_duration_seconds" env:"IDP_ID_TOKEN_EXPIRATION" desc:"Expiration time in seconds for IDP ID tokens."` RefreshTokenDurationSeconds uint64 `` /* 126-byte string literal not displayed */ DyamicClientSecretDurationSeconds uint64 `` /* 141-byte string literal not displayed */ }
type Tracing ¶
type Tracing struct { Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;IDP_TRACING_ENABLED" desc:"Activates tracing."` Type string `` /* 188-byte string literal not displayed */ Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;IDP_TRACING_ENDPOINT" desc:"The endpoint of the tracing agent."` Collector string `` /* 226-byte string literal not displayed */ }
Tracing defines the available tracing configuration.
Source Files ¶
Click to show internal directories.
Click to hide internal directories.