{ if (o) { formError = ''; formErrors = {}; focusFirstInput(); } }}> {#if isEditing} Edit OIDC provider {:else} Add OIDC provider {/if} General Role mapping {#if formError} {formError} {/if}

Basic settings

formErrors.name = undefined} /> {#if formErrors.name}

{formErrors.name}

{/if}
formErrors.issuerUrl = undefined} /> {#if formErrors.issuerUrl}

{formErrors.issuerUrl}

{/if}
formEnabled = checked === true} />

Client credentials

Get these from your identity provider's application settings.

formErrors.clientId = undefined} /> {#if formErrors.clientId}

{formErrors.clientId}

{/if}
formErrors.clientSecret = undefined} /> {#if formErrors.clientSecret}

{formErrors.clientSecret}

{/if}

Redirect settings

formErrors.redirectUri = undefined} /> {#if formErrors.redirectUri}

{formErrors.redirectUri}

{:else}

Add this URI to your identity provider's allowed callback URLs.

{/if}

Claim mapping

Map OIDC claims to user attributes.

{#if !isEnterprise}

Enterprise feature

Role mapping allows you to automatically assign Dockhand roles based on your identity provider's groups or claims. This feature requires an enterprise license.

{#if onNavigateToLicense} {/if}
{:else}

Groups/roles claim

Grant admin access based on claim values from your identity provider.

Name of the claim containing roles/groups

Comma-separated values that grant Admin role

Claim to role mappings

Map claim values from your identity provider to Dockhand roles.

{#if formRoleMappings.length === 0}
No role mappings configured. Click "Add mapping" to create one.
{:else}
{#each formRoleMappings as mapping, index}
{ if (value) { updateRoleMappingRole(index, parseInt(value)); } }} > {#if mapping.role_id} {roles.find(r => r.id === mapping.role_id)?.name || 'Select role...'} {:else} Select role... {/if} {#each roles as role}
{role.name}
{/each}
{/each}
{/if}
{/if}