{#if oauths}
{#if tab === 'sso'}
{#if !$enterpriseLicense || $enterpriseLicense.endsWith('_pro')}
Without EE, the number of SSO users is limited to 10. SCIM/SAML is available on EE
{/if}
{:else if tab === 'oauth'}
{#each Object.keys(oauths) as k}
{#if oauths[k] && !(oauths[k] && 'login_config' in oauths[k])}
{#if !['slack', 'teams'].includes(k) && oauths[k]}
{@const IconComponent = getOAuthProviderIcon(k) as any}
{@const headerLabel = k.endsWith('_sandbox')
? `${k.slice(0, -'_sandbox'.length)} (sandbox)`
: k}
Redirect URL
{#if !baseUrl}
Set it in Core settings. The redirect url is built from it, and {k} needs the exact
value.
{:else}
{/if}
{#if baseUrlMismatch}
This is built from the instance base url. Update it in Core settings if it is
wrong, or {k} will reject the callback.
{/if}
These credentials are for
{#if !windmillBuiltins.includes(k) || (registryCcCapable(k) && registryAuthCodeCapable(k))}
setGrantChoice(k, v)}
>
{#snippet children({ item })}
{/snippet}
{:else if registryCcCapable(k)}
Client credentials (server-to-server)
Fill Client ID and Secret to share one service account, or leave them empty
so each user brings their own.
{:else}
Authorization code (browser sign-in)
{/if}
{#if k === 'azure_oauth'}
{:else if !windmillBuiltins.includes(k) && k != 'slack'}
{/if}
{#if connectConfigTemplates[k]}
{@const tmpl = connectConfigTemplates[k]}
{/if}
{#if k === 'gworkspace'}