Browse Source

Updates to suport non cloud single and multi tenancy

pull/4023/head
Rory Powell 5 years ago
parent
commit
7936015cb3
  1. 4
      hosting/kubernetes/budibase/templates/app-service-deployment.yaml
  2. 30
      packages/builder/src/pages/builder/_layout.svelte

4
hosting/kubernetes/budibase/templates/app-service-deployment.yaml

@ -96,6 +96,10 @@ spec:
value: worker-service:{{ .Values.services.worker.port }}
- name: COOKIE_DOMAIN
value: {{ .Values.globals.cookieDomain | quote }}
- name: ACCOUNT_PORTAL_URL
value: {{ .Values.globals.accountPortalUrl | quote }}
- name: ACCOUNT_PORTAL_API_KEY
value: {{ .Values.globals.accountPortalApiKey | quote }}
image: budibase/apps
imagePullPolicy: Always
name: bbapps

30
packages/builder/src/pages/builder/_layout.svelte

@ -20,25 +20,29 @@
return
}
if (user && user.tenantId) {
let urlTenantId
const hostParts = host.split(".")
// e.g. ['tenant', 'budibase', 'app'] vs ['budibase', 'app']
let urlTenantId
const hostParts = host.split(".")
if (hostParts.length > 2) {
urlTenantId = hostParts[0]
}
// only run validation when we know we are in a tenant url
// not when we visit the root budibase.app domain
// e.g. ['tenant', 'budibase', 'app'] vs ['budibase', 'app']
if (hostParts.length > 2) {
urlTenantId = hostParts[0]
} else {
// no tenant in the url - send to account portal to fix this
window.location.href = $admin.accountPortalUrl
return
}
// no tenant in the url - send to account portal to fix this
if (!urlTenantId) {
window.location.href = $admin.accountPortalUrl
return
}
if (user && user.tenantId) {
if (user.tenantId !== urlTenantId) {
// user should not be here - play it safe and log them out
await auth.logout()
await auth.setOrganisation(null)
return
}
} else {
// no user - set the org according to the url
await auth.setOrganisation(urlTenantId)
}
}

Loading…
Cancel
Save