Browse Source
Merge pull request #2898 from Budibase/fix/custom-sso-redirect
Updates to suport non cloud single and multi tenancy
gh-pages
Martin McKeaveney
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
21 additions and
13 deletions
-
hosting/kubernetes/budibase/templates/app-service-deployment.yaml
-
packages/builder/src/pages/builder/_layout.svelte
|
|
|
@ -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 |
|
|
|
|
|
|
|
@ -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) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|