mirror of
https://github.com/pocket-id/pocket-id.git
synced 2026-10-01 07:19:05 +02:00
feat: add OIDC back-channel logout (#1734)
Co-authored-by: Alessandro (Ale) Segala <43508+ItalyPaleAle@users.noreply.github.com> Co-authored-by: Elias Schneider <login@eliasschneider.com>
This commit is contained in:
co-authored by
Alessandro Segala
Elias Schneider
parent
23c4825abd
commit
2075de3234
@@ -54,6 +54,7 @@ export type OidcDiscoveryConfiguration = {
|
||||
export type OidcClient = OidcClientMetaData & {
|
||||
callbackURLs: string[];
|
||||
logoutCallbackURLs: string[];
|
||||
backchannelLogoutURL: string;
|
||||
isPublic: boolean;
|
||||
pkceEnabled: boolean;
|
||||
requiresReauthentication: boolean;
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
description: existingClient?.description || '',
|
||||
callbackURLs: existingClient?.callbackURLs || [],
|
||||
logoutCallbackURLs: existingClient?.logoutCallbackURLs || [],
|
||||
backchannelLogoutURL: existingClient?.backchannelLogoutURL || '',
|
||||
isPublic: existingClient?.isPublic || false,
|
||||
pkceEnabled: existingClient?.pkceEnabled || false,
|
||||
requiresReauthentication: existingClient?.requiresReauthentication || false,
|
||||
@@ -84,6 +85,7 @@
|
||||
description: z.string().max(150),
|
||||
callbackURLs: z.array(callbackUrlSchema).default([]),
|
||||
logoutCallbackURLs: z.array(callbackUrlSchema).default([]),
|
||||
backchannelLogoutURL: z.url().or(z.literal('')),
|
||||
isPublic: z.boolean(),
|
||||
pkceEnabled: z.boolean(),
|
||||
requiresReauthentication: z.boolean(),
|
||||
@@ -346,15 +348,25 @@
|
||||
description={m.requires_pushed_authorization_requests_description()}
|
||||
bind:checked={$inputs.requiresPushedAuthorizationRequests.value}
|
||||
/>
|
||||
{#if mode == 'create'}
|
||||
<div class="grid grid-cols-1 gap-x-3 gap-y-7 md:grid-cols-2">
|
||||
<FormInput
|
||||
label={m.client_id()}
|
||||
placeholder={m.generated()}
|
||||
class="w-full md:w-1/2"
|
||||
description={m.custom_client_id_description()}
|
||||
bind:input={$inputs.id}
|
||||
label={m.backchannel_logout_url()}
|
||||
description={m.backchannel_logout_url_description()}
|
||||
class="w-full"
|
||||
type="url"
|
||||
bind:input={$inputs.backchannelLogoutURL}
|
||||
disabled={isCIMDClient}
|
||||
/>
|
||||
{/if}
|
||||
{#if mode == 'create'}
|
||||
<FormInput
|
||||
label={m.client_id()}
|
||||
placeholder={m.generated()}
|
||||
class="w-full"
|
||||
description={m.custom_client_id_description()}
|
||||
bind:input={$inputs.id}
|
||||
/>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user