Merge pull request #2898 from Budibase/fix/custom-sso-redirect

Updates to suport non cloud single and multi tenancy
This commit is contained in:
Martin McKeaveney 2021-10-06 14:50:27 +01:00 committed by GitHub
commit 40f6cdf287
2 changed files with 22 additions and 14 deletions

View File

@ -96,6 +96,10 @@ spec:
value: worker-service:{{ .Values.services.worker.port }} value: worker-service:{{ .Values.services.worker.port }}
- name: COOKIE_DOMAIN - name: COOKIE_DOMAIN
value: {{ .Values.globals.cookieDomain | quote }} 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 image: budibase/apps
imagePullPolicy: Always imagePullPolicy: Always
name: bbapps name: bbapps

View File

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