stripes.config.js properties
Notes:
The
okapi.tenant
field has been deprecated since the Ramsons R2 2024 release and should no longer be used. Instead, use theconfig.tenantOptions
object.The difference between the
Okapi
andEureka
config files lies in theokapi.authnUrl
field, which specifies the authorization URL provided by Keycloak.The
config.tenantOptions
object contains keys representing tenant names and values that are objects with the tenant name and client id.
For Eureka only, you can specify a multiple tenants object to display a tenant multi-select page before the login page.
Example,tenantOptions: { // Selected tenant will be included in X-Okapi-Tenant HTTP request headers diku: { name: 'diku', clientId: 'diku-application' }, diku2: { name: 'diku2', clientId: 'diku2-application' }, },
If a single record is specified in
tenantOptions
, the configuration will be treated as single-tenant, and the multi-select page will not be displayed.tenantOptions: { // tenant to include in X-Okapi-Tenant HTTP request headers diku: { name: 'diku', clientId: 'diku-application' } }
Below are examples of Okapi
and Eureka
environment configuration files.
OKAPI env
module.exports = {
okapi: {
// application gateway
'url': 'https://folio-snapshot-okapi.dev.folio.org',
// Deprecated since Ramsons R2.
// use config.tenantOptions instead
'tenant': 'diku'
},
config: {
// act as though user has all perms, i.e. <IfPermission> always returns true
// default: FALSE
// since A
hasAllPerms: true,
// locale to use for the login page, prior to authenticating
// default: en-US
// since R
locale: 'en-US',
// stripes logger categories
// since A
logCategories: 'core,path,action,xhr',
logPrefix: '--',
// lookup table rows to retrieve en-masse
maxUnpagedResourceCount: 2000,
// prevent the console from being cleared on logout
// default: FALSE
// since Q
preserveConsole: true,
// list permissions in the userprofile menu?
// default: FALSE
// since A
showPerms: true,
// true to hide verbose react-intl complaints
// default: false
suppressIntlErrors: true, // since H
suppressIntlWarnings: true, // since O
// Since Ramsons R2
// use instead of okapi.tenant
tenantOptions: {
diku: { name: 'diku', clientId: 'diku-application' }
}
// use RTR instead of insecure legacy endpoints
// since Q, default: FALSE
// since S, default: TRUE, cannot be overridden
useSecureTokens: true,
// RTR customization
rtr: {
// how long before an idle session is killed? default: 60m
// must be a string parseable by ms, e.g. 60s, 10m, 1h
idleSessionTTL: '10m',
// how long to show the "warning, session is idle" modal? default: 1m
// must be a string parseable by ms, e.g. 60s, 10m, 1h
idleModalTTL: '2m',
// which events constitute "activity" that prolongs a session?
// default: keydown, mousedown
activityEvents: ['keydown', 'mousedown', 'wheel', 'touchstart', 'scroll'],
// how long is the "your session will end!" warning shown
// before the session is, in fact, killed? default: 1m
// must be a string parseable by ms, e.g. 60s, 10m, 1h
fixedLengthSessionWarningTTL: '2m';
}
},
modules: {
// ...
'@folio/users' : {}
},
branding: {
// login page img and alt-text
// since A
logo: {
src: './path/to/login-logo.png',
alt: 'Opentown Libraries',
},
// browser tab icon
// since A
favicon: {
src: './path/to/favicon.png',
},
style: {
mainNav: {
// background color of the main navigation bar
// default: #000c
// since M
backgroundColor: "#036",
},
login: {
// background color of the login screen
// default: #fff
// since M
backgroundColor: "#fcb",
},
},
},
};